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 e4...@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@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-performance
To unsubscribe, send any mail to "freebsd-performance-unsubscr...@freebsd.org"