Ad blocker detected: Our website is made possible by displaying online advertisements to our visitors. Please consider supporting us by disabling your ad blocker on our website.
For a while now i had a problem with my cacti generating graphs very slow, ~3-5sec per graph. It wasn't polling or reading but actually generating "pictures".
so Googling around i found a tip that suggested regenerating fonts cache.
So i ran this command on my Centos 5.4:
This should not change anything when using rrdtool <= 1.2.x
On higher versions, I was under the assumption that fc caching happens automatically (as we always have an open pipe to rrdtool).
R.
gandalf wrote:This should not change anything when using rrdtool <= 1.2.x
On higher versions, I was under the assumption that fc caching happens automatically (as we always have an open pipe to rrdtool).
R.
Could it be a regression in 8.7g?
I distinctly remember older versions being at least as fast as after i ran fc-cache command..
I don't think so. We simply pass the same rrdtool command to the rrdtool pipe. The time consumed is mostly rrdtool execution time.
To be most certain, this will require access to a system showing this behaviour.
If I'm correct, the effect will scale with the amount of fonts installed.
Unfortunately, you did not answer to my assumption above, so it's all guesswork ...
R.
Yea, something like an strace of an rrdtool pid would be beneficial.
One correction for the new 'master' though. I don't believe that graphing uses a pipe as each graph request is a separate backend call. Since they are asynchronous, RRDtool is forked for each graph.
We could possibly fix this with a simple enhancement to the boost server of course.
TheWitness
True understanding begins only when we realize how little we truly understand...
TheWitness wrote:Yea, something like an strace of an rrdtool pid would be beneficial.
One correction for the new 'master' though. I don't believe that graphing uses a pipe as each graph request is a separate backend call. Since they are asynchronous, RRDtool is forked for each graph.
We could possibly fix this with a simple enhancement to the boost server of course.
Yes, it's a permissions issue that slows things down. The strace almost looks like Windows when it tries to open a single file (sorry, not meaning to insult).
I'm glad to have seen someone get to the bottom of this. I thought it was just slow...
TheWitness
True understanding begins only when we realize how little we truly understand...
so can something be done in cacti to resolve this problem or to notify a user to correct this permission problem?
people might have such 'misconfiguration' and don't even realize it and think that cacti is slow.
Announcement. It's a permissions problem. Should be done by the Linux distrib maintainer. However, in the mean time, we should publish an Announcement.
I'm not to familiar with this. Gandalf is best.
TheWitness
True understanding begins only when we realize how little we truly understand...
TheWitness wrote: I don't believe that graphing uses a pipe as each graph request is a separate backend call. Since they are asynchronous, RRDtool is forked for each graph.
This indeed explains bad graphing times. RRDTool will (as I've deduced from a mailing to rrdtoll-users, so it's not my own knowledge) scan the font dir(s) on a first call. It will/shall cache the data and be faster on subsequent calls.
But if there is no subsequent call as suggested by Larry, we will always face this time lag for rrdtool 1.3.x and up.
R.
TheWitness wrote:More reason to allow either the boost server to do this, or support the new cache daemon, or have some other inittab/init.d process handle this.
TheWitness
I was going the cache daemon way. But unfortunately, it does not support specific options required for us. I posted a request to the mailing list to no avail. And my C knowledge is not good enough to do it on my own.
I still suppose that this is the way to go.
R.