Experiment on oct8 kernel 2.2.16
since the experiment today ( OCT8 ) on "kernel 2.4.10 with Tulip NIC compiled as module"
overrun yesterday's conclusion:
Kernel 2.4.10 with NIC driver compiled in directly is much faster in ip routing
than kernel with NIC driver compiled as module. ( 2:1 )
Now we do experiments on kernel 2.2.16-22 again to see whether the conclusion
still holds.
Kernel 2.4.10 is much faster in ip routing than kernel 2.2.16-22 ( 34:1 )
Experiment 2 on kernel 2.2.16 ip routing | ||||||||||||||
1st | 2nd | 3rd | 4th | 5th | 6th | 7th | 8th | 9th | 10th | 11th | 12th | 13th | AVG | |
Trans Speed (KB/sec) | 11540.43 | 11542.07 | 11539.74 | 11542.15 | 11541.98 | 11542.04 | 11493.60 | 11492.88 | 11494.89 | 11495.49 | 11492.87 | 11493.22 | 11549.62 | 11520.08 |
Recv Speed (KB/sec) | 11481.36 | 11482.92 | 11482.05 | 11483.06 | 11482.84 | 11482.84 | 11486.22 | 11486.24 | 11486.23 | 11486.25 | 11486.21 | 11486.05 | 11481.40 | 11484.13 |
Data Sent (Byte) | 16777216 | 16777216 | 16777216 | 16777216 | 16777216 | 16777216 | 124835840 | 124835840 | 124835840 | 124835840 | 124835840 | 124835840 | 16777216 |
The above data is much much faster than the
data we got on Oct6 and the
data from last week, This shows that
the conclusion we made on Oct6 is not
right.
Kernel 2.2.16-22 is almost as fast as kernel 2.4.10 in ip routing
What's going on here???
For the detailed experiment data, please see the following:
Reboot Dublin to kernel 2.2.16-22
do experiment 2
[lin@madrid lin]$ ttcp/ttcp -t -s 192.168.2.2 < linux-2.4.10.tar
ttcp-t: buflen=8192, nbuf=2048, align=16384/0, port=5001 tcp -> 192.168.2.2
ttcp-t: socket
ttcp-t: connect
ttcp-t: 16777216 bytes in 1.42 real seconds = 11540.43 KB/sec +++
ttcp-t: 2048 I/O calls, msec/call = 0.71, calls/sec = 1442.55
ttcp-t: 0.0user 0.0sys 0:01real 3% 0i+0d 0maxrss 0+2pf 0+0csw
[lin@prague ttcp]$ ttcp -r -s
ttcp-r: buflen=8192, nbuf=2048, align=16384/0, port=5001 tcp
ttcp-r: socket
ttcp-r: accept from 192.168.1.2
ttcp-r: 16777216 bytes in 1.43 real seconds = 11481.36 KB/sec +++
ttcp-r: 11588 I/O calls, msec/call = 0.13, calls/sec = 8120.48
ttcp-r: 0.0user 0.1sys 0:01real 10% 0i+0d 0maxrss 0+1pf 0+0csw
Experiment 2
[lin@madrid lin]$ ttcp/ttcp -t -s 192.168.2.2 < linux-2.4.10.tar
ttcp-t: buflen=8192, nbuf=2048, align=16384/0, port=5001 tcp -> 192.168.2.2
ttcp-t: socket
ttcp-t: connect
ttcp-t: 16777216 bytes in 1.42 real seconds = 11542.07 KB/sec +++
ttcp-t: 2048 I/O calls, msec/call = 0.71, calls/sec = 1442.76
ttcp-t: 0.0user 0.0sys 0:01real 4% 0i+0d 0maxrss 0+2pf 0+0csw
[lin@prague ttcp]$ ttcp -r -s
ttcp-r: buflen=8192, nbuf=2048, align=16384/0, port=5001 tcp
ttcp-r: socket
ttcp-r: accept from 192.168.1.2
ttcp-r: 16777216 bytes in 1.43 real seconds = 11482.92 KB/sec +++
ttcp-r: 11588 I/O calls, msec/call = 0.13, calls/sec = 8121.59
ttcp-r: 0.0user 0.1sys 0:01real 9% 0i+0d 0maxrss 0+1pf 0+0csw
Experiment 2
[lin@madrid lin]$ ttcp/ttcp -t -s 192.168.2.2 < linux-2.4.10.tar
ttcp-t: buflen=8192, nbuf=2048, align=16384/0, port=5001 tcp -> 192.168.2.2
ttcp-t: socket
ttcp-t: connect
ttcp-t: 16777216 bytes in 1.42 real seconds = 11539.74 KB/sec +++
ttcp-t: 2048 I/O calls, msec/call = 0.71, calls/sec = 1442.47
ttcp-t: 0.0user 0.0sys 0:01real 2% 0i+0d 0maxrss 0+2pf 0+0csw
[lin@prague ttcp]$ ttcp -r -s
ttcp-r: buflen=8192, nbuf=2048, align=16384/0, port=5001 tcp
ttcp-r: socket
ttcp-r: accept from 192.168.1.2
ttcp-r: 16777216 bytes in 1.43 real seconds = 11482.05 KB/sec +++
ttcp-r: 11587 I/O calls, msec/call = 0.13, calls/sec = 8120.27
ttcp-r: 0.0user 0.3sys 0:01real 21% 0i+0d 0maxrss 0+1pf 0+0csw
Experiment 2
[lin@madrid lin]$ ttcp/ttcp -t -s 192.168.2.2 < linux-2.4.10.tar
ttcp-t: buflen=8192, nbuf=2048, align=16384/0, port=5001 tcp -> 192.168.2.2
ttcp-t: socket
ttcp-t: connect
ttcp-t: 16777216 bytes in 1.42 real seconds = 11542.15 KB/sec +++
ttcp-t: 2048 I/O calls, msec/call = 0.71, calls/sec = 1442.77
ttcp-t: 0.0user 0.0sys 0:01real 2% 0i+0d 0maxrss 0+2pf 0+0csw
[lin@prague ttcp]$ ttcp -r -s
ttcp-r: buflen=8192, nbuf=2048, align=16384/0, port=5001 tcp
ttcp-r: socket
ttcp-r: accept from 192.168.1.2
ttcp-r: 16777216 bytes in 1.43 real seconds = 11483.06 KB/sec +++
ttcp-r: 11588 I/O calls, msec/call = 0.13, calls/sec = 8121.68
ttcp-r: 0.0user 0.1sys 0:01real 11% 0i+0d 0maxrss 0+1pf 0+0csw
Experiment 2
[lin@madrid lin]$ ttcp/ttcp -t -s 192.168.2.2 < linux-2.4.10.tar
ttcp-t: buflen=8192, nbuf=2048, align=16384/0, port=5001 tcp -> 192.168.2.2
ttcp-t: socket
ttcp-t: connect
ttcp-t: 16777216 bytes in 1.42 real seconds = 11541.98 KB/sec +++
ttcp-t: 2048 I/O calls, msec/call = 0.71, calls/sec = 1442.75
ttcp-t: 0.0user 0.0sys 0:01real 2% 0i+0d 0maxrss 0+2pf 0+0csw
[lin@prague ttcp]$ ttcp -r -s
ttcp-r: buflen=8192, nbuf=2048, align=16384/0, port=5001 tcp
ttcp-r: socket
ttcp-r: accept from 192.168.1.2
ttcp-r: 16777216 bytes in 1.43 real seconds = 11482.84 KB/sec +++
ttcp-r: 11588 I/O calls, msec/call = 0.13, calls/sec = 8121.53
ttcp-r: 0.0user 0.1sys 0:01real 7% 0i+0d 0maxrss 0+1pf 0+0csw
Experiment 2
[lin@madrid lin]$ ttcp/ttcp -t -s 192.168.2.2 < linux-2.4.10.tar
ttcp-t: buflen=8192, nbuf=2048, align=16384/0, port=5001 tcp -> 192.168.2.2
ttcp-t: socket
ttcp-t: connect
ttcp-t: 16777216 bytes in 1.42 real seconds = 11542.04 KB/sec +++
ttcp-t: 2048 I/O calls, msec/call = 0.71, calls/sec = 1442.75
ttcp-t: 0.0user 0.0sys 0:01real 2% 0i+0d 0maxrss 0+2pf 0+0csw
[lin@prague ttcp]$ ttcp -r -s
ttcp-r: buflen=8192, nbuf=2048, align=16384/0, port=5001 tcp
ttcp-r: socket
ttcp-r: accept from 192.168.1.2
ttcp-r: 16777216 bytes in 1.43 real seconds = 11482.84 KB/sec +++
ttcp-r: 11585 I/O calls, msec/call = 0.13, calls/sec = 8119.43
ttcp-r: 0.0user 0.1sys 0:01real 9% 0i+0d 0maxrss 0+2pf 0+0csw
Experiment 2
USING large amount of data: 124MB
[lin@madrid lin]$ ttcp/ttcp -t 192.168.2.2 < linux-2.4.10.tar
ttcp-t: buflen=8192, nbuf=2048, align=16384/0, port=5001 tcp -> 192.168.2.2
ttcp-t: socket
ttcp-t: connect
ttcp-t: 124835840 bytes in 10.61 real seconds = 11493.60 KB/sec +++
ttcp-t: 15239 I/O calls, msec/call = 0.71, calls/sec = 1436.72
ttcp-t: 0.0user 0.9sys 0:10real 8% 0i+0d 0maxrss 0+2pf 0+0csw
[lin@prague ttcp]$ ttcp -r -s
ttcp-r: buflen=8192, nbuf=2048, align=16384/0, port=5001 tcp
ttcp-r: socket
ttcp-r: accept from 192.168.1.2
ttcp-r: 124835840 bytes in 10.61 real seconds = 11486.22 KB/sec
+++
ttcp-r: 86213 I/O calls, msec/call = 0.13, calls/sec = 8122.89
ttcp-r: 0.0user 1.2sys 0:10real 12% 0i+0d 0maxrss 0+1pf 0+0csw
Experiment 2
USING large amount of data: 124MB
[lin@madrid lin]$ ttcp/ttcp -t 192.168.2.2 < linux-2.4.10.tar
ttcp-t: buflen=8192, nbuf=2048, align=16384/0, port=5001 tcp -> 192.168.2.2
ttcp-t: socket
ttcp-t: connect
ttcp-t: 124835840 bytes in 10.61 real seconds = 11492.88 KB/sec +++
ttcp-t: 15239 I/O calls, msec/call = 0.71, calls/sec = 1436.63
ttcp-t: 0.0user 0.8sys 0:10real 7% 0i+0d 0maxrss 0+2pf 0+0csw
[lin@prague ttcp]$ ttcp -r -s
ttcp-r: buflen=8192, nbuf=2048, align=16384/0, port=5001 tcp
ttcp-r: socket
ttcp-r: accept from 192.168.1.2
ttcp-r: 124835840 bytes in 10.61 real seconds = 11486.24 KB/sec +++
ttcp-r: 86213 I/O calls, msec/call = 0.13, calls/sec = 8122.90
ttcp-r: 0.0user 1.2sys 0:10real 12% 0i+0d 0maxrss 0+1pf 0+0csw
Experiment 2
USING large amount of data: 124MB
[lin@madrid lin]$ ttcp/ttcp -t 192.168.2.2 < linux-2.4.10.tar
ttcp-t: buflen=8192, nbuf=2048, align=16384/0, port=5001 tcp -> 192.168.2.2
ttcp-t: socket
ttcp-t: connect
ttcp-t: 124835840 bytes in 10.61 real seconds = 11494.89 KB/sec +++
ttcp-t: 15239 I/O calls, msec/call = 0.71, calls/sec = 1436.89
ttcp-t: 0.0user 0.9sys 0:10real 8% 0i+0d 0maxrss 0+2pf 0+0csw
[lin@prague ttcp]$ ttcp -r -s
ttcp-r: buflen=8192, nbuf=2048, align=16384/0, port=5001 tcp
ttcp-r: socket
ttcp-r: accept from 192.168.1.2
ttcp-r: 124835840 bytes in 10.61 real seconds = 11486.23 KB/sec +++
ttcp-r: 86208 I/O calls, msec/call = 0.13, calls/sec = 8122.42
ttcp-r: 0.0user 1.2sys 0:10real 12% 0i+0d 0maxrss 0+2pf 0+0csw
Experiment 2
USING large amount of data: 124MB
[lin@madrid lin]$ ttcp/ttcp -t 192.168.2.2 < linux-2.4.10.tar
ttcp-t: buflen=8192, nbuf=2048, align=16384/0, port=5001 tcp -> 192.168.2.2
ttcp-t: socket
ttcp-t: connect
ttcp-t: 124835840 bytes in 10.61 real seconds = 11495.49 KB/sec +++
ttcp-t: 15239 I/O calls, msec/call = 0.71, calls/sec = 1436.96
ttcp-t: 0.0user 0.8sys 0:10real 8% 0i+0d 0maxrss 0+2pf 0+0csw
[lin@prague ttcp]$ ttcp -r -s
ttcp-r: buflen=8192, nbuf=2048, align=16384/0, port=5001 tcp
ttcp-r: socket
ttcp-r: accept from 192.168.1.2
ttcp-r: 124835840 bytes in 10.61 real seconds = 11486.25 KB/sec +++
ttcp-r: 86204 I/O calls, msec/call = 0.13, calls/sec = 8122.06
ttcp-r: 0.0user 1.3sys 0:10real 13% 0i+0d 0maxrss 0+2pf 0+0csw
Experiment 2
USING large amount of data: 124MB
[lin@madrid lin]$ ttcp/ttcp -t 192.168.2.2 < linux-2.4.10.tar
ttcp-t: buflen=8192, nbuf=2048, align=16384/0, port=5001 tcp -> 192.168.2.2
ttcp-t: socket
ttcp-t: connect
ttcp-t: 124835840 bytes in 10.61 real seconds = 11492.87 KB/sec +++
ttcp-t: 15239 I/O calls, msec/call = 0.71, calls/sec = 1436.63
ttcp-t: 0.0user 0.9sys 0:10real 8% 0i+0d 0maxrss 0+2pf 0+0csw
[lin@prague ttcp]$ ttcp -r -s
ttcp-r: buflen=8192, nbuf=2048, align=16384/0, port=5001 tcp
ttcp-r: socket
ttcp-r: accept from 192.168.1.2
ttcp-r: 124835840 bytes in 10.61 real seconds = 11486.21 KB/sec +++
ttcp-r: 86206 I/O calls, msec/call = 0.13, calls/sec = 8122.22
ttcp-r: 0.0user 1.3sys 0:10real 12% 0i+0d 0maxrss 0+2pf 0+0csw
Experiment 2
USING large amount of data: 124MB
[lin@madrid lin]$ ttcp/ttcp -t 192.168.2.2 < linux-2.4.10.tar
ttcp-t: buflen=8192, nbuf=2048, align=16384/0, port=5001 tcp -> 192.168.2.2
ttcp-t: socket
ttcp-t: connect
ttcp-t: 124835840 bytes in 10.61 real seconds = 11493.22 KB/sec +++
ttcp-t: 15239 I/O calls, msec/call = 0.71, calls/sec = 1436.68
ttcp-t: 0.0user 0.7sys 0:10real 7% 0i+0d 0maxrss 0+2pf 0+0csw
[lin@prague ttcp]$ ttcp -r -s
ttcp-r: buflen=8192, nbuf=2048, align=16384/0, port=5001 tcp
ttcp-r: socket
ttcp-r: accept from 192.168.1.2
ttcp-r: 124835840 bytes in 10.61 real seconds = 11486.05 KB/sec +++
ttcp-r: 86212 I/O calls, msec/call = 0.13, calls/sec = 8122.67
ttcp-r: 0.0user 1.4sys 0:10real 13% 0i+0d 0maxrss 0+1pf 0+0csw
From the above, we see that kernel 2.2.16-22 also achieves the throughput of
full capacity.
So we also overrun the conclusion we made a few days ago.
Kernel 2.2.16-22 is not much slower than kernel 2.4.10 in ip routing.
Why???????
Is it because the ip_forward setting?????
Once I use "echo 1 > /proc/sys/net/ipv4/ip_forward".
Yesterday, I use "netcfg" to turn on ip_forwarding???????
To test this, let's turn off ip_forward from "netcfg" and turn it on by
"echo 1 > /proc/sys/net/ipv4/ip_forward". And do experiments....
experiment 2
[lin@madrid lin]$ ttcp/ttcp -t -s 192.168.2.2 < linux-2.4.10.tar
ttcp-t: buflen=8192, nbuf=2048, align=16384/0, port=5001 tcp -> 192.168.2.2
ttcp-t: socket
ttcp-t: connect
ttcp-t: 16777216 bytes in 1.42 real seconds = 11549.62 KB/sec +++
ttcp-t: 2048 I/O calls, msec/call = 0.71, calls/sec = 1443.70
ttcp-t: 0.0user 0.0sys 0:01real 4% 0i+0d 0maxrss 0+2pf 0+0csw
[lin@prague ttcp]$ ttcp -r -s
ttcp-r: buflen=8192, nbuf=2048, align=16384/0, port=5001 tcp
ttcp-r: socket
ttcp-r: accept from 192.168.1.2
ttcp-r: 16777216 bytes in 1.43 real seconds = 11481.40 KB/sec +++
ttcp-r: 11588 I/O calls, msec/call = 0.13, calls/sec = 8120.51
ttcp-r: 0.0user 0.1sys 0:01real 14% 0i+0d 0maxrss 0+1pf 0+0csw
From the above experiments, the throughput is still about 11500KB/sec.
Why I can't return to those very slow cases???????