[rrd-developers] rrdupates per second

Bernard Li bernard at vanhpc.org
Tue Jun 10 07:42:16 CEST 2008

Hi Tobias:

On Mon, Jun 9, 2008 at 10:31 PM, Tobias Oetiker <tobi at oetiker.ch> wrote:

> the prime method to gain performance is to have more cache
> available, since this will enable the system to be able to keep all
> hot rrd blocks in memory and thus only 'modify-write' disk blocks
> as opposed 'read-modify-write' them. (It will have todo reads too,
> but only ocasionally).
> Since 1.2.24 or so, rrdtool tries to inform the OS (tested on
> linux) that it should not read-a-head when accessing rrdfiles, but
> just keep the current block around. By this we use less cache per
> rrdfile and thus can keep more hot-blocks in memory.
> If you do not see this improvement then maybe your OS does not
> support the fadvise call or rather configure did not pick it up
> correctly.
> In 1.3 the whole fadvise/madvise thing has been further tuned, and
> on top of that all the IO is mmaped which cal also help.

There are noticeable improvements with 1.3, but not enough to
eliminate the need for the tmpfs workaround.

I will dig deeper to confirm whether my OS (CentOS 4.x) supports
fadvise and whether the rrdtool RPM was built correctly with that
option enabled.

> does this mean ganglia calls rrd_update and links librrd ? or does
> it call out?

Yes, that is the case AFAIK.  The code in question is viewable here:




More information about the rrd-developers mailing list