Comparison of FreeBSD/Linux TCP Throughput performance

Hongtao Yin htyin at huawei.com
Sat Oct 17 02:08:49 UTC 2009


This is one of the first things we tried.=20

=20

Does anyone have the tuned parameters?=20

=20

Actually we are looking for info like

=20

1. Any bugs in Freebsd driver which have been fixed in linux kernel=20

2. Any TCP features/RFCs implemented in Linux, but not in Freebsd=20

3. Any other discrepancies between Linux and FreeBSD TCP implementation =
that
could potentially have caused this

=20

=20

Thanks.

Hongtao

=20

=20

  _____ =20

From: Istv=A8=A2n [mailto:leccine at gmail.com]=20
Sent: 2009=C4=EA10=D4=C216=C8=D5 5:29
To: Hongtao Yin
Cc: freebsd-performance at freebsd.org
Subject: Re: Comparison of FreeBSD/Linux TCP Throughput performance

=20

I see.

=20

It shows that linux default setup is better.

=20

Have you seen any FreeBSD performance tuning guides?

=20

Regards,

Istvan

2009/10/16 Hongtao Yin <htyin at huawei.com>

Istvan,

=20

I ran newer FreeBSD code 8.0 RC1 this time. By using NetPIPE, we =
collected
test data and the result shows that FreeBSD TCP performance is worse =
than
Linux. I got troubles to plot using gnuplot, so here I am attaching the =
raw
data files.

The netpipe commands are as follows:

PC2: #NPtcp

PC1: #NPtcp =A8Ch 192.168.1.20

=20

Regards,

Hongtao

=20

=20

=20

  _____ =20

From: Istv=A8=A2n [mailto:leccine at gmail.com]=20
Sent: 2009=C4=EA10=D4=C215=C8=D5 5:13


To: Hongtao Yin
Cc: freebsd-performance at freebsd.org
Subject: Re: Comparison of FreeBSD/Linux TCP Throughput performance

=20

use netpipe TCP pls.

=20

And graph it.

=20

Thanks in advance,

Istvan

On Thu, Oct 15, 2009 at 2:42 AM, Hongtao Yin <htyin at huawei.com> 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 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|

       --------------  --------------  --------------  --------------











=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D

    Netperf Test Results

=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D



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









=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D

     Iperf Test Results

=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D



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"




--=20
the sun shines for all




--=20
the sun shines for all



More information about the freebsd-performance mailing list