Subject: snmpconf script execution load

From: Steve Moulton <[email-masked]>
Date: Wed, 28 Mar 2001 11:32:26 -0500

The following note from Jon Saperia has a useful analysis that I
am forwarding to the list with his permission.

	- Steve

------- Forwarded Message

The issue at hand is the assumption about how many policies over how
many elements will need to operate per second. Here are some thoughts
that are just assumptions that anyone could reasonably disagree with.

    1. Assume an edge box that is doing DiffServ or a box that is at an
edge doing VPN security services. I selected these since they will both
tend to have a large number of 'instances' and elements and lots of
config work to do the first time. I have also omitted core routers since
while they are larger in some cases, they will be less likely to do
policy work first.

    2. Lets assume the box has 200 Gig of capacity - These days a fairly
reasonable suggestion. Lets further assume that 2.5mbps is the smallest
control flow (read interface or VC or LSP, etc.). That means that 80,000
flows or virtual interfaces.

    3. As a worst case estimate, lets further assume that each of these
must be visited by the policy system every 30 seconds. I refer to the
MaxLatency objects. Lets say the Action executes every time as well,
though I do not think I would configure things this often. The reason I
chose 30 seconds is that is the fastest that a 'major' router vendor,
updates agent counters, so in many cases performing the action more
often that this would not produce better results.

      4. This is 80K * (NumFilters + NumActions) * TimesPerMinute = 320K
executions per minute. This means 5333.33 executions per second. 

      5. You can adjust any of my numbers to produce the result you
desire. What I see from having done this is that I have underestimated
the number of executions.

      6. Lets assume I am of by an order of magnitude (which I doubt)
since more inclusive policies are easier to write than very specific
ones. But assume that only 8K as opposed to 80K elements are to be
managed, we still have many executions. The place where I think we are
likely to get some relief is in the cycle time (latency) per
execution. I think once every 5 minutes seems more reasonable. If we
make these two adjustments then we go from 5333 to about 100 per
second. Still a significant load.

Hope this is helpful. It definitely was for me :-)

------- End of Forwarded Message