[netflow-tools] [softflowd]about softflowd TODO

Guanqun Lu guanqun.lu at gmail.com
Wed Mar 28 16:36:06 EST 2007


Hi,

1. What do you mean by "Use strtonum()"? You want to replace "atoi()" with it?

2. I'm currently doing some research that is mainly based on the performance of
softflowd. But it seems that the softflowd can't stand up with the
heavy flow.  My colleague did some hack into the code. The diff of
file softflowd.c is attached. After doing this, the performance does
enhance a little. But still, the usage of CPU climbs up to 100% as
soon as the pps increases to about 13,000.

I'm glad to see that there's a performance part in TODO.
 Performance
  - Profile and see where the hot spots are
It seems that it's a CPU intensive task.
  - Fast "new flow" test using a bloom filter
You named 'bloom filter', maybe we can have a try.
  - See if we can reduce per-packet overhead more
    - Cost of expiry remove and re-add per packet
  - Stop run-time malloc (maybe)
Why is it necessary? I'm wondering. Will the run-time malloc cost the
performance?
    - Preallocate a pool of expiry events and flow entries
      - keep a queue, pick/push first from head



-- 
Guanqun
-------------- next part --------------
A non-text attachment was scrubbed...
Name: loopnum.patch
Type: application/octet-stream
Size: 1503 bytes
Desc: not available
Url : http://lists.mindrot.org/pipermail/netflow-tools/attachments/20070328/4f046103/attachment.obj 


More information about the netflow-tools mailing list