| To: | "netdev@xxxxxxxxxxx" <netdev@xxxxxxxxxxx> |
|---|---|
| Subject: | Strange accept() behaviour in 2.2 |
| From: | Andrew Morton <andrewm@xxxxxxxxxx> |
| Date: | Tue, 07 Nov 2000 01:50:58 +1100 |
| Cc: | Alan Cox <alan@xxxxxxxxxxxxxxxxxxx> |
| Sender: | owner-netdev@xxxxxxxxxxx |
I wrote a silly little server and client. They're at
http://www.uow.edu.au/~andrewm/wsws.tar.gz
The server just forks a bunch of children which wait in accept().
The client hammers the socket with connections to give all the
servers a fright.
The strange thing is the throughput:
Servers conn/sec
1 1666
2 666
3 476
4 476
5 476
6 1666
7 1666
8 1428
9 1428
10 1428
50 588
100 40
This is with 2.2.18-pre19-SMP on UP. x86. Does the same thing
with a uniprocessor build.
processor : 0
vendor_id : GenuineIntel
cpu family : 6
model : 5
model name : Celeron (Covington)
stepping : 1
cpu MHz : 400.000920
cache size : 0 KB /* huh? */
fdiv_bug : no
hlt_bug : no
sep_bug : no
f00f_bug : no
coma_bug : no
fpu : yes
fpu_exception : yes
cpuid level : 2
wp : yes
flags : fpu vme de pse tsc msr pae mce cx8 sep mtrr pge mca cmov pat
pse36 mmx fxsr
bogomips : 799.54
Why is the accept() rate 3-4 times lower at 2, 3, 4 and 5 servers?
Can anyone else reproduce this?
Just run
./wsws 2224 <nServers> &
time ./wswc 0 2224 10000
|
| <Prev in Thread] | Current Thread | [Next in Thread> |
|---|---|---|
| ||
| Previous by Date: | Re: CONFIG_INET_ECN creates problems, jamal |
|---|---|
| Next by Date: | Re: CONFIG_INET_ECN creates problems, kuznet |
| Previous by Thread: | CONFIG_INET_ECN creates problems, Tom Zerucha |
| Next by Thread: | Re: Strange accept() behaviour in 2.2, davej |
| Indexes: | [Date] [Thread] [Top] [All Lists] |