鵝再來貼個R牌8169好了(M/B只support 33MHz PCI32,不support 66MHz,所以throughput可能沒辦法跑到全速

),client是CeleronD 2.4GHz+512MB DDR400(不過限於CPU實際上是跑DDR266

),server一樣是AM2的Sempron3000+2GB DDRII667+MCP51內建的GbE(PHY也是Marvell的),不過這次server是跑XP(為了開Jumbo Frame/off loading等功能

)....
default只開rx off loading,沒開Jumbo Frame....
root@lab01:~# ethtool -k eth1
Offload parameters for eth1:
rx-checksumming: on
tx-checksumming: off
scatter-gather: off
tcp segmentation offload: off
root@lab01:~# time iperf -c 192.168.10.115
------------------------------------------------------------
Client connecting to 192.168.10.115, TCP port 5001
TCP window size: 16.0 KByte (default)
------------------------------------------------------------
[ 5] local 192.168.10.110 port 45494 connected with 192.168.10.115 port 5001
[ 5] 0.0-10.0 sec 754 MBytes 632 Mbits/sec
real 0m10.040s
user 0m0.148s
sys 0m4.048s
throughput約630Mbps,CPU loading約40%....
off loading維持default,MTU設成7200(linux kernel driver中R牌support的最大值)....
root@lab01:~# ifconfig eth1 mtu 7200
root@lab01:~# time iperf -c 192.168.10.115
------------------------------------------------------------
Client connecting to 192.168.10.115, TCP port 5001
TCP window size: 21.1 KByte (default)
------------------------------------------------------------
[ 5] local 192.168.10.110 port 35374 connected with 192.168.10.115 port 5001
[ 5] 0.0-10.0 sec 752 MBytes 631 Mbits/sec
real 0m10.030s
user 0m0.144s
sys 0m3.700s
CPU loading與throughput都與沒開jumbo frame約略相同....
開jumbo frame,offloading全開....
root@lab01:~# ethtool -k eth1
Offload parameters for eth1:
rx-checksumming: on
tx-checksumming: on
scatter-gather: on
tcp segmentation offload: on
root@lab01:~# time iperf -c 192.168.10.115
------------------------------------------------------------
Client connecting to 192.168.10.115, TCP port 5001
TCP window size: 52.9 KByte (default)
------------------------------------------------------------
[ 5] local 192.168.10.110 port 57247 connected with 192.168.10.115 port 5001
[ 5] 0.0-10.0 sec 826 MBytes 693 Mbits/sec
real 0m10.016s
user 0m0.116s
sys 0m2.412s
CPU loading由40%下降至24%(約40%

),throughput由630Mbps上升至690Mbps(約10%)....
開off loading,關jumbo frame....
root@lab01:~# ifconfig eth1 mtu 1500
root@lab01:~# time iperf -c 192.168.10.115
------------------------------------------------------------
Client connecting to 192.168.10.115, TCP port 5001
TCP window size: 16.0 KByte (default)
------------------------------------------------------------
[ 5] local 192.168.10.110 port 56659 connected with 192.168.10.115 port 5001
[ 5] 0.0-10.0 sec 830 MBytes 696 Mbits/sec
real 0m10.017s
user 0m0.076s
sys 0m2.448s
CPU loading及throughput都與開jumbo frame時約略相當....
由以上不太精確的測試看來,jumbo frame效果似乎沒有如off loading明顯,不知是R牌NIC對jumbo frame support不是很好或其它因素(i.e. driver等等)所致,不過鵝也懶得再試Marvell 88E8053當對照組就是了


....