Simon,
I'll try moving it over to a 100MB/s port in the morning, hopefully
that will work.
Might have to upgrade our switch is that fixes it (it's due anyway, I
just wanted to make sure the blame was pointing at it and not our new
server).
I'll have a play with NDT as well, sounds very interesting.
Thanks again,
- Daniel
On 18 Jul 2010, at 12:50, Simon Leinen wrote:
I've been building an OpenSolaris (snv_134) based NAS
cool!
and I've spotted
something a bit odd with bi-directional iperf results
[...]
The NIC's in all servers are 1gb, but the linux
servers going into
100mb switch ports and the solaris machine goes into
a 1000mb port
(same switch).
This means that the switch has to buffer when transferring frames
from the fast (Solaris) port to the slow (Linux) port. Many GigE
switches, even those that aren't traditionally thought of as "low-
end" (i.e. certain Cisco stackables), have very small packet
buffers. So what might be happening here is that when the Solaris
machine sends a few back-to-back packets over GigE, it might start
to overrun the buffer in the switch. When multiple packets are
dropped from a single window, that will affect TCP throughput pretty
badly.
If my hypothesis is correct, then you should see much better
performance when you limit the Solaris connection to 100Mb/s.
Looking at packet traces would shed more light on this, but it's
tedious and I don't know any good tools to help diagnosing this kind
of problems.
In some cases, the NDT (http://code.google.com/p/ndt) active
measurement tool can be helpful. The server side only works on
Linux with a special kernel patch (Web100), but the client can be
compiled on Solaris, and run against one of the many public servers.
--
Simon.
--
This message posted from opensolaris.org
_______________________________________________
networking-discuss mailing list
networking-discuss@opensolaris.org
_______________________________________________
networking-discuss mailing list
networking-discuss@opensolaris.org