[rrd-developers] rfc: later caching

Tobias Oetiker tobi at oetiker.ch
Mon Apr 20 17:11:45 CEST 2009


Today kevin brintnall wrote:

> > > I thought we'd do it in stages:
> > >
> > > (1) Process the update string twice.  Once when updatev received from the
> > >     client (update in-memory copy).  Once when we call rrd_update_r() with
> > >     the update string.
> > >
> > >     - minimal changes to the current rrdcached code/data structures
> > >     - CPU overhead minimal, still large delayed IO benefit of rrdcached
> > >     - easiest change that gives updatev support
> > >
> > > (2) Process the update string once.  Cache the computed results, and write
> > >     them out to the RRD after delay.
> > >
> > >     - requires we re-think rrd_update_r() or create a function to pass
> > >       pre-computed values into the RRD
> > >
> > > I'm guessing (1) will be significantly easier than (2), and provide almost
> > > the same functionality (if slightly less efficiently)..  I think staging
> > > it like this would make the most sense.
> >
> > do you see a lot of 're-use' of stuff from (1) in (2) ? Or what is
> > the 'sense' in staging the process, given it is done in the safety
> > of trunk anyway.
>
> Maintaining an in-memory copy of the header will be essentially the same
> for (1) and (2).  Therefore, we should have full UPDATEV support after (1)
> without having to drastically change the internals of the daemon or modify
> the API to allow pre-computed writes and the associated header updates.
>
> At that point, we can decide whether re-working the daemon->file part is
> worth it.  If so, we do (2).

I see you have it all mapped out :-) are you still looking into the
auth stuff ?

cheers
tobi

>
>

-- 
Tobi Oetiker, OETIKER+PARTNER AG, Aarweg 15 CH-4600 Olten, Switzerland
http://it.oetiker.ch tobi at oetiker.ch ++41 62 775 9902 / sb: -9900



More information about the rrd-developers mailing list