Comparison of FreeBSD/Linux TCP Throughput performance
Adrian Chadd
adrian at freebsd.org
Sun Oct 18 14:55:02 UTC 2009
FYI, I installed netperf on my local p4-D test boxes that I use for
other testing.
128 byte send/receive buffers on the client side:
kristy# netperf -H 192.168.10.2 -p 22113 -l 10
TCP STREAM TEST from 0.0.0.0 (0.0.0.0) port 0 AF_INET to 192.168.10.2
(192.168.10.2) port 0 AF_INET
Recv Send Send
Socket Socket Message Elapsed
Size Size Size Time Throughput
bytes bytes bytes secs. 10^6bits/sec
8192 128 128 10.00 426.17
1kbyte send/receive buffers:
kristy# netperf -H 192.168.10.2 -p 22113 -l 10
TCP STREAM TEST from 0.0.0.0 (0.0.0.0) port 0 AF_INET to 192.168.10.2
(192.168.10.2) port 0 AF_INET
Recv Send Send
Socket Socket Message Elapsed
Size Size Size Time Throughput
bytes bytes bytes secs. 10^6bits/sec
8192 1024 1024 10.00 903.39
8kbyte send/receive buffers:
kristy# netperf -H 192.168.10.2 -p 22113 -l 10
TCP STREAM TEST from 0.0.0.0 (0.0.0.0) port 0 AF_INET to 192.168.10.2
(192.168.10.2) port 0 AF_INET
Recv Send Send
Socket Socket Message Elapsed
Size Size Size Time Throughput
bytes bytes bytes secs. 10^6bits/sec
8192 8192 8192 10.00 913.71
Both boxes are 7.2-REL amd64 boxes on 3.4GHz Pentium-D CPUs using some
onboard flavour of the intel e1000 NIC:
device = '82573E Intel Corporation 82573E Gigabit Ethernet
Controller (Copper)'
They are connected via a Cisco 3750G L3 switch. In fact, the traffic
is routed, rather than switched.
My /etc/sysctl.conf:
net.inet.icmp.icmplim=0
net.inet.icmp.icmplim_output=0
net.inet.tcp.msl=3000
net.inet.tcp.sendspace=8192
net.inet.tcp.recvspace=8192
kern.maxfilesperproc=65536
kern.maxfiles=262144
kern.ipc.maxsockets=32768
kern.ipc.somaxconn=1024
kern.ipc.nmbclusters=131072
net.inet.ip.fw.enable=0
kern.ipc.somaxconn=10240
2c,
Adrian
2009/10/15 Hongtao Yin <htyin at huawei.com>:
> Hi,
>
>
>
> I compared TCP performance between FreeBSD and Linux by running test tools
> Netperf and Iperf with Intel NIC.
>
> The kernels are full version and default values are used in the testing
> except TCP Congestion Control algorithm set to Reno.
>
> >From the test results we can see Linux TCP performance in throughput is
> better than FreeBSD. The worst case (send msg size 128) shows that FreeBSD
> throughput is only 43% of Linux's.
>
>
>
> I like to get some feedback if anyone did similar comparison test, or knows
> any issues with kernels or drivers. Thanks lot.
>
>
>
> FreeBSD and Linux Sysctl captures are attached for reference.
>
>
>
> Regards,
>
> Hongtao
>
>
>
>
>
>
>
> Test Environments:
>
> PC: Dell Precision T3400 (same 4 PCs)
>
> CPU: Intel Core 2 Duo CPU E4600 at 2.4Ghz
>
> FreeBSD: V7.1 (full version) (TCP CC: newReno)
>
> Linux: V2.6.31.1 (full version) (TCP CC: Reno)
>
> Ethernet card: Intel Pro/1000 PWLA8492 MT Dual Port Server Adapter (Gigabit)
> chip 82546EB (only one port used for each PC)
>
> Switch: Netgear ProSafe 8 port Gigabit Switch (model GS108)
>
> Iperf: V2.0.4
>
> Netperf: V2.4.4
>
>
>
> Setup:
>
>
>
>
>
> ----------
>
> | switch |
>
> ----------
>
> ---------------------| | | |--------------------
>
> | | | |
>
> | --------| |-------- |
>
> | | | |
>
> | | | |
>
> -------------- -------------- -------------- --------------
>
> | PC1 | | PC2 | | PC3 | | PC4 |
>
> | FreeBSD | | FreeBSD | | Linux | | Linux |
>
> |192.168.1.10| |192.168.1.20| |192.168.1.30| |192.168.1.40|
>
> -------------- -------------- -------------- --------------
>
>
>
>
>
>
>
>
>
>
>
> ================================
>
> Netperf Test Results
>
> ================================
>
>
>
> TCP Throughput Test
>
> -------------------
>
>
>
> PC2/4: #netserver -p 22113
>
> PC1/3: #netperf -H 192.168.1.20 -p 22113 -l 10
>
>
>
> Recv Send Send Elapsed
> Throughput
>
> Socket Socket Message Time
> 10^6 bits/sec
>
> Size Size Size Sec.
>
> bytes bytes bytes
>
> FreeBSD: 65536 32768 32768 10.34
> 598.11
>
> Linux: 87380 16384 16384 10.04
> 779.02
>
>
>
>
>
> PC1/3: #netperf -t TCP_STREAM -H 192.168.1.20 -p 22113 -- -m
> 64/128/256/512/1024/2048/4096
>
>
>
> Recv Send Send Elapsed
> Throughput
>
> Socket Socket Message Time
> 10^6 bits/sec
>
> Size Size Size Sec.
>
> bytes bytes bytes
>
> FreeBSD: 65536 32768 64 10.19
> 417.10
>
> 65536 32768 128 10.35
> 336.63
>
> 65536 32768 256 10.36
> 576.99
>
> 65536 32768 512 10.35
> 569.79
>
> 65536 32768 1024 10.35
> 553.70
>
> 65536 32768 2048 10.35
> 584.20
>
> 65536 32768 4096 10.35
> 602.45
>
>
>
> Linux: 87380 16384 64 10.03
> 778.21
>
> 87380 16384 128 10.03
> 779.72
>
> 87380 16384 256 10.04
> 780.16
>
> 87380 16384 512 10.03
> 776.85
>
> 87380 16384 1024 10.04
> 777.52
>
> 87380 16384 2048 10.04
> 777.83
>
> 87380 16384 4096 10.03
> 780.17
>
>
>
>
>
>
>
>
>
> ===============================
>
> Iperf Test Results
>
> ===============================
>
>
>
> Bandwidth Test
>
> --------------
>
>
>
> PC2/4: #iperf -s
>
> PC1/3: #iperf -c 192.168.1.20
>
>
>
> Interval Transfer Bandwidth
>
> sec MBytes Mbits/sec
>
> FreeBSD: 0.0-10.3 740 600
>
> Linux: 0.0-10.0 972 815
>
>
>
>
>
> PC1/3: #iperf -c 192.168.1.20 -d
>
>
>
> Interval Transfer Bandwidth
>
> sec MBytes Mbits/sec
>
> FreeBSD: 0.0-10.0 402 337
>
> 0.0-10.0 404 338
>
>
>
> Linux: 0.0-10.0 926 776
>
> 0.0-10.0 44.1 36.9
>
>
>
>
>
> Parallel Test
>
> -------------
>
>
>
> PC2/4: #iperf -s
>
> PC1/3: #iperf -c 192.168.1.20 -P 2
>
>
>
> Interval Transfer Bandwidth
>
> sec MBytes Mbits/sec
>
> FreeBSD: 0.0-10.3 370 300
>
> 0.0-10.3 370 300
>
> SUM: 0.0-10.3 739 600
>
>
>
> Linux: 0.0-10.0 479 402
>
> 0.0-10.0 473 396
>
> SUM: 0.0-10.0 952 797
>
>
>
>
>
>
>
>
> _______________________________________________
> freebsd-performance at freebsd.org mailing list
> http://lists.freebsd.org/mailman/listinfo/freebsd-performance
> To unsubscribe, send any mail to "freebsd-performance-unsubscribe at freebsd.org"
>
More information about the freebsd-performance
mailing list