[rrd-developers] rrdcached performance problem

kevin brintnall kbrint at rufus.net
Sat Oct 31 21:14:19 CET 2009


> It's pretty clear that the performance when operating in memory is very 
> nice and smooth, but when memory is exceeded things become bumpy. It 
> degrades nicely and recovers well: I saw 9k queue items at one point and 
> that got worked off over close to an hour but did work itself out as 
> opposed to spinning out of control.

9k/hour seems awfully slow.  Even my old development box can flush
55k/hour.  Maybe more entries are being enqueued at the same time...

> What value of -m do you suggest? -w divided by step size?

That's the maximum; any more than that is just waste.  IIRC you had around
~400 cached values per RRD file.  So, if you use '-m 400' you'll only have
call realloc() one time.  However, the 401st value will cause a large
realloc()...

The ideal value is highly dependent on your malloc() implementation..  I
would start with a power of two large enough to get you relatively few
realloc() but small enough that you don't waste too much...  In your case,
maybe '-m 64'.

-- 
 kevin brintnall =~ /kbrint at rufus.net/



More information about the rrd-developers mailing list