Flowtables -- any tuning hints?

Scott Ullrich sullrich at gmail.com
Sun Jul 12 17:38:50 UTC 2009


On Sun, Jul 12, 2009 at 3:09 AM, Kip Macy<kmacy at freebsd.org> wrote:
> You want to avoid hash collisions. So, generally speaking you want the
> hash table to be sized 2x larger than the number of unique connection
> destinations.  You want the maximum number of flows to be as large as
> the maximum number of unique destinations x number of cores. When you
> get to the case of hundreds of thousands of unique destinations as in
> the case of a small ISP doing IP forwarding, you're probably better
> off disabling the flowtable. For most other workloads its likely to be
> a clear win. Running a process on an 8-core system with 8 threads each
> calling sendto(...) with 10 bytes I can push 3.5 - 4Mpps (with cxgb -
> you won't get this with most cards) with the flowtable enabled. With
> the flowtable disabled lock contention causes performance to degrade
> to 330kpps with the aforementioned workload.
>
> Let me know if you have any issues.

Thank you Kip, this sounds like a great addition to FreeBSD.

Scott


More information about the freebsd-current mailing list