Re: BUG: Slowdown on 3000 socket-machines tracked down
From: Christian Schmid
Date: Wed Mar 09 2005 - 19:25:50 EST
Yes, 2.6.11. I have tuned max_backlog and some other TCP and networking
related settings to give more buffers etc to networking tasks. I have not
tried any significant disk-IO while doing these tests.
I finally got my systems set up so I can run my WAN emulator at full 1Gbps:
I am getting right at 986Mbps throughput with 30ms round-trip latency
(15ms in both directions).
So, latency does not seem to be the problem either.
I think the problem can be narrowed down to:
1) Non-optimal kernel network tunings on your server.
I used all the default-settings on 2.6.11
2) Disk-IO (my disk is small and slow compared to a 'real' server, not
sure I can
really test this side of things, and I have not tried as of yet.)
This doesnt explain the speed-up when I change lower_zone_protection from 0 to 1024. It also doesnt
explain the slowdown on 2.6.11 compared to 2.6.10
3) Your clients have much more latency and/or don't have enough bandwidth
to fully load your server. Since you didn't answer before: I
assume you
do not have a reliable test bed and are just hoping that enough
clients connect
to do your benchmarking.
Yes I just wait until they connect. On the graph it only takes about 2 minutes until 3000 sockets
are created again.
4) There is something strange with sendfile and/or your application's
coding.
I am not doing more than calling sendfile. There is nothing one can do wrong.
My suggestion would be to eliminate these variables by coming up with a
repeatable
test bed, alternative traffic generators, WAN/Network emulators for
latency, etc.
The problem still is that 1) it speeds up immediately when lower_zone_protection is raised to 1024.
This proves it is NOT a disk-bottleneck. And second: it got much worse with 2.6.11 and
lower_zone_protection disappeared on 2.6.11
Chris
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/