Cacti is slow when displaying graph trees.

Post support questions that directly relate to Linux/Unix operating systems.

Moderators: Developers, Moderators

Post Reply
Kernel Panic
Posts: 12
Joined: Wed Feb 21, 2007 12:28 pm

Cacti is slow when displaying graph trees.

Post by Kernel Panic »

System:
FreeBSD 6.2 (cacti-0.8.6j.3_2 installed from ports tree)
2.4GHz Xeon processor
2GB RAM
SCSI RAID mirror

Cacti stats:
SYSTEM STATS: Time:39.1964 Method:cactid Processes:4 Threads:4 Hosts:84 HostsPerProcess:21 DataSources:15620 RRDsProcessed:6638


The server is dedicated entirely to running cacti.

Problem:
Graphs and even the graph tree sometimes take a long time to display. (~10 to 25 seconds.)
Even just clicking on the Graph tab can sometimes take that long before ANYTHING shows up. (It blanks out the screen first) T

Have I just hit a performance ceiling in the tree graph display? Are there things I can optimize? I'm no PHP5 or mysql5.0 guru so I don't know if/what can be optimized on that end.

Any help (even showing me where to RTFM) would be appreciated.

Other possibly relevant notes:
If I actually deploy cacti (this is just a test/demo box) the hardware would be the same except that I would have dual Xeon processors and the appropriate SMP kernel.
The current slowness is with just one, maybe 2 people looking at graphs. If deployed I would have anywhere from 3 to 10 people constantly monitoring graphs via cacti. Which is why this slow performance has me worried.
User avatar
gandalf
Developer
Posts: 22383
Joined: Thu Dec 02, 2004 2:46 am
Location: Muenster, Germany
Contact:

Post by gandalf »

How many graphs are on those pages you're selecting?
What are php.ini's memory settings? And max_connections of mysql may also drop in
Reinhard
Kernel Panic
Posts: 12
Joined: Wed Feb 21, 2007 12:28 pm

Post by Kernel Panic »

My hosts have a lot. I'm grabbing Errors per interface, bit/s for all interfaces, CPU and memory for 83 routers. Some have 24 ports some have 100+ depending on their function. I'm also graphing some load balancers. I'm just collection on connections per second but there are alot of servers/IPs associated with them.

Some settings from php.ini:

Code: Select all

;;;;;;;;;;;;;;;;;;;
; Resource Limits ;
;;;;;;;;;;;;;;;;;;;

max_execution_time = 30     ; Maximum execution time of each script, in seconds
max_input_time = 60     ; Maximum amount of time each script may spend parsing r
equest data
;max_input_nesting_level = 64 ; Maximum input variable nesting level
memory_limit = 128M      ; Maximum amount of memory a script may consume (128MB)
I do not have a max_connections set in mysql's my.cnf
User avatar
gandalf
Developer
Posts: 22383
Joined: Thu Dec 02, 2004 2:46 am
Location: Muenster, Germany
Contact:

Post by gandalf »

You may want to set max_connections to sth like 500, default is 100. Restart mysqld AND apache afterwards.
But you may want to have a look at 0.8.6k as well, it features pagination on graph tree output!
Reinhard
Post Reply

Who is online

Users browsing this forum: No registered users and 6 guests