Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 04 Jul 2008 20:31:49 +0200
From:      Kris Kennaway <kris@FreeBSD.org>
To:        David Kwan <david.kwan@isilon.com>
Cc:        freebsd-performance@freebsd.org
Subject:   Re: TCP stack in FreeBSD poor performance in 100MB to Gigabit	environment.
Message-ID:  <486E6C95.1020509@FreeBSD.org>
In-Reply-To: <E83E80FC158BCA4F921B1349E38866B802A6DD77@seaxch07.desktop.isilon.com>

index | next in thread | previous in thread | raw e-mail

David Kwan wrote:
>  
> 
> I have a few questions regarding the TCP:
> 
>  
> 
> I have a situation with clients on a 100MB network connecting to servers
> on a Gigabit network where the client read speeds are very slow from the
> FreeBSD server and fast from the Linux server.    Write speeds from the
> clients to both servers are fast.  (Clients on the gigabit network work
> fine with blazing read and write speeds).  The network traces shows
> congestion packets for both servers when doing reads from the clients
> (dup acks and retransmissions), but the Linux server seem to handle the
> congestion better.   ECN is not enabled on the network and I don't see
> any congestion windowing or clients window changing.  The 100/1G switch
> is dropping packets.   I double checked the network configuration and
> also swapped swithports for the servers to use the others to make sure
> the switch configuration are the same and the Linux always does better
> than FreeBSD.  Assuming that the network configuration is a constant for
> all clients and servers (speed, duplex, and etc...), the only variable
> is the servers  themselves (Linux and FreeBSD).  I have tried a couple
> of FreeBSD machines with 6.1 and 7.0 and they show the same problem,
> with no luck matching the speed and network utilization of Linux (2
> years old).  The read speed test I'm referring is doing transferring of
> a 100MB file (cifs, nfs, and ftp), and the Linux server does it
> constantly in around 10 sec (line speed) with a constant network
> utilization chart, while the FreeBSD servers are magnitudes slower with
> erratic network utilization chart.  I've attempted to tweak some network
> sysctl  options on the FreeBSD, and the only ones that helped were
> disabling TSO and inflight; which leads me to think that the
> inter-packet gap was slightly increased to partially relieve congestion
> on the switch; not a long term solution.
> 
>  
> 
> My questions are: 
> 
>   1.  Have you heard of this problem before with 100MB clients to
> Gigabit servers?

The key point seems to be that the switch is dropping packets.  If you 
have packet loss then TCP is not going to perform well.

Kris


home | help

Want to link to this message? Use this
URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?486E6C95.1020509>