On Tue, 23 Jul 2002, Phil Rosenthal wrote:
I have a small RRD project box that polls 200 interfaces and has it takes 1 minute, 5 seconds to run with 60% cpu usage (so obviously it can be streamlined if I wanted to work on it). I guess the limit in this implementation is 1000 interfaces per box in this setup -- but I see most of the CPU usage is in the forking of snmpget over and over. Im sure I could write a small program in C that could do this at least 10X more efficiently. That's 10,000 interfaces with RRD on one intel -- if you are determined to do it.
Interesting. We have a dual p3-700, doing LOTS of other things, which does 1600 interfaces under MRTG using small amounts of CPU. You are using 'Forks', if you're using MRTG, no? This whole process takes less than 2 minutes.
I think if you are billing 10k interfaces, you can afford a 2nd intel box to check the 2nd 10,000, no?
First and foremost, you said RRD, not billing. Who uses RRD for billing purposes?
My point is that if you have sufficient clue, time, and motivation -- Today's generic PCs are capable to do many "large" tasks...
Quite. In regards to billing, we have some home grown software that (don't laugh too hard) runs as an NT service; it collects 1,700 ports of information every five minutes (Bytes[In|Out], BitsSec[In|Out], AdminStatus, OperStatus, Time) in only 60 seconds; we've found the best way to do this is to blast SNMP requests, and wait for replies which are then event driven; wait 10 seconds, retry all the ones we get, then try again. We've found that this works the best, having tried about 4 different ways of doing it over the last 5 years. It's all then nicely stored in a SQL DB. -- Alex Rubenstein, AR97, K2AHR, alex@nac.net, latency, Al Reuben -- -- Net Access Corporation, 800-NET-ME-36, http://www.nac.net --