Hello!
> * tcp_init() wants to set sysctl_tcp_max_tw_buckets to 180,000. This
> seems too high (Andi says 22 megs). I think the patch here is more
> consistent.
For machine with 256MB it is not very big number.
Failure to create tw bucket is hard bug. Default value is to be so high
as possible.
> * tcp_twkill() can consume a huge amount of time if it has enough
> connections to deal with. When running lmbench I have observed it
> killing 2,500 connections in a single pass, which means we spend 15
> milliseconds in the timer handler. This is crazy.
If you expect of machine doing 700 conn/sec superb latency,
you expect an impossible thing.
We do much more particularly because the work is batched, when it is possible.
If you want to do sound recording on your web server,
it is better to increase granularity of tw calendar.
> So I just kill a hundred and then reschedule the timer to run in a
> couple of jiffies time. The downside: this limits the tw reaping to
> 2,500 connections per second.
You simply limited your power by 2500 conn/sec, not more.
We must destroy buckets with the rate, which they are created.
Alexey
|