[collectd] Slowing Down collectd?
octo at verplant.org
Sat Oct 29 12:17:18 CEST 2005
On Fri, Oct 28, 2005 at 08:32:39PM -0700, Bogdan wrote:
> I like the idea of 10 sec intervals, but it is not relevant for me to
> have it pull the data so often. Is it possible to set it to run every
> 30sec or every 60sec instead, and Have the same reflected
> automatically in the RRD Databases. As it is now, even though very
> fast, collectd is racking up some CPU time, and the biggest problem
> is that graph generation takes about 4 seconds because there is so
> much data it need to plow through.
graph generation will not benefit from changing the polling-time to 30
or 60 seconds: In the RRD files 6 so called `primary data points' are
merged into one `consolidated data point'. So the finest data you can
get out of the RRD file has a one-minute resolution. The 10 second
interval is useful mostly for `gauge' data, i.e. data without
history/counter (temperature, number of running processes, ...).
Also, the maximum (and minimum) values benefit from a short interval:
Given a mysterious NIC that is idle for 20 seconds, then sends 20 MBit/s
for three seconds and then is idle again for 37 seconds. When polling
every 10 seconds the data you get is: (in MBit/s)
(0 0 6 0 0 0) -> min: 0; avg: 1; max: 6
When reading the data only once every 60 seconds you get one datapoint:
(1) -> min: 1; avg: 1; max: 1
Sure, this example is far from realistic, but I just want to show how a
shorter interval is better even for counters..
> I tried to do it my self by editing the source, but lets just say that did
> not go anywhere :( Never really programmed in C.
The problem is that the size of the CDPs (consolidated data points) and
their number is closely linked to the `step'. So touching one value
means that you have to adjust the other two which is something I'd
rather not do in software.. But I'll have a look and think about it..
Maybe it's not as hard as I make myself think that it is.. ;)
> Another Problem I have is that colectd created several databases for my
> But what do the numbers stand for?
Those are the major- and minor-number of the device. 3,1 is /dev/hda1,
for example. You can propably see a list of `mappings' in
`/proc/partitions'.. I did not use the device names (e.g. `hda1')
because some drivers fill in weird values there. I have one machine
where the `3w-xxxx' kernel module fills in
Florian octo Forster
Hacker in training
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Size: 189 bytes
Desc: Digital signature
Url : http://mailman.verplant.org/pipermail/collectd/attachments/20051029/564221aa/attachment.pgp
More information about the Collectd