Welcome, Guest. Please login or register.

Author Topic: Need for Speed: RRDs  (Read 3661 times)

oxo

  • Guest
Need for Speed: RRDs
« on: January 22, 2010, 02:22:49 PM »
RRDs is another way to create/update RRD files with perl (RRDs referance).
It is used by MRTG, Cricket and others.

It gives a speed increase (how much: I'll edit this when I get the results for 150 devices / 12000 interfaces)

I have made a POC @ RRD.pm (from a Play with NeDI version)
This can be used if one alters 2 files in NeDi 1.0.5:
nedi.pl
libmisc.pl

It would be "intresting" if others could try the module and report back:
Install RRDs module for perl
Edit nedi.pl and libmisc.pl with the changes from above.
Download RRD.pm to inc dir
Edit a new nedi.conf and specify a new test DB and a new place for nedipath (otherwise you could kill your production data ...)
init NeDi using (-U) the edited nedi.conf
do a nedi.pl -U that will show that the rrd's are created and updated
the next nedi.pl will go quicker: only updating (create is a very long process compared to update)

Edit:
Standard NeDi using system call:
  • create and update: 25 min
  • update: 12 min ~ 60ms per int
RRDs:
  • create and update: 20 min
  • update: 11 min ~ 55ms per int

Wow! we saved 5ms per interface ...
« Last Edit: January 22, 2010, 03:40:30 PM by oxo »

rickli

  • Administrator
  • Hero Member
  • *****
  • Posts: 2763
    • View Profile
    • NeDi
Re: Need for Speed: RRDs
« Reply #1 on: January 26, 2010, 06:47:28 PM »
Only using rrd.pm instead my primitive system calls??? You didn't change anything else???
Please consider Other-Invoices on your NeDi installation for an annual contribution, tx!
-Remo

oxo

  • Guest
Re: Need for Speed: RRDs
« Reply #2 on: January 27, 2010, 03:33:40 PM »
Only using RRDs to gain 5ms (5/1000 sec) per interface.
I thought it might be a good idea to test that there are no "issues" with RRDs (which I don't think there are ...) before any logic changes in a nedi run to cut out pieces of code that are not needed to create/update RRD.
The only code changed are those posted above based on NeDi 1.0.5 release.

To gain 10000 interfaces a minute: well that needs work (  or Play )

Edit:
I made another RRD.pm that goes "over the top" in allowing one to configure it's defaults ( doesn't have the interface to 1.0.5 though: but that is "easy" to do ).
And I need to test it for typos...

RRD.pm

test.pl for RRD.pm

RRD.pm changes
« Last Edit: January 29, 2010, 01:00:42 AM by oxo »