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/