Hongtao Yin wrote:
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"


FreeBSD 7.1 is quite old compared to Linux 2.6.31 - I'd like to see at least FreeBSD 7.2 compared, if not 8.0-RC1. Maybe also the most recent FreeBSD 4 should be taken into this test.

_______________________________________________
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"

Reply via email to