nanog mailing list archives

Re: PSINet/Cogent Latency


From: Matt Zimmerman <mdz () csh rit edu>
Date: Tue, 23 Jul 2002 09:53:41 -0400


On Tue, Jul 23, 2002 at 02:40:10AM -0400, Richard A Steenbergen wrote:

While you're at it, eliminate the forking to the rrdtool bin when you're
adding data. A little thought and profiling goes a long way, this is
simple number crunching we're talking about, not supercomputer work. The
problem comes from the perl mentality (why is there no C lib for
efficiently adding to an rrd db? because they're expecting everyone to
call it from perl :P), "it's good enough for my couple boxes and you can
throw more machines at it".

There is a C library, librrd.  That is how the other language APIs are
built.  As to efficiency, there is a lot of stringification, which is
inconvenient and unnatural in C, but this should not be the bottleneck in
the collection operation.

But again, I have no doubt that if you designed it properly you could
throw lots of snmp queries and scale decently to a nice sized core
network, I've seen it done. The problem is potential communication loss
between the poller and the device, and the amount of work that the device
(which usually isn't running gods gift to any code let alone snmp code)
has to do for higher sampling rates with many interfaces.

That said, bulk statistical exports from the device itself can easily be
more implemented efficiently than SNMP.  But unless the export process is
universally standardized, SNMP (for all its warts, and it has many) will
still have an edge in that it works nearly everywhere (for varying values of
"works").

-- 
 - mdz


Current thread: