If your hosts are properly tuned and you still have performance issues,
there are a few other things to look at.
The problem may well be in the network. First, use netstat -s to see if there are a lot
of TCP retransmissions. TCP retransmits usually indicate network congestion, but can also
happen with bad network hardware, or misconfigured networks. You may also see some TCP
retransmissions if the sending host is much faster than the receiving host, but TCP flow
control should make the number of retransmits relatively low.
pathrate
can both be used to get an estimate of the link capacity.
If the the capcacity is much lower than expected, this
may indicate a network problem or unusually high congestion.
Contact your network administrator in this case.
Check the Duplex Mode
A common source of LAN trouble with 100BT networks is that the host is set to full duplex,
but the ethernet switch is set to half-duplex, or visa versa. Most newer hardware will
auto-negotiate this, but with some older hardware, auto-negotiation will sometimes fail,
with the result being a working but very slow network (typically only 1-2 Mbps). Its best
for both to be in full duplex if possible, but some older 100BT equipment only supports
half-duplex. See the duplex checking instructions for some ways
to check what your systems are set to.
Check if TCP-Offloading is enabled.
Some NICs use TCP-Offloading to reduce the load on the CPU. But the NIC does not have
enough memory for this to work well for WAN tranfsers. For some NICs such as
the Intel e1000, you can disable this
by using 'ethtool' (e.g.: ethtool -K eth0 tso off).
For some other NICs such as Chelsio, you will need to recompile the network driver
with TCP-offloading disabled.
tcptrace:
You can also try using tcpdump to try to see exactly
what TCP is doing. tcptrace is a very nice tool for
formatting tcpdump output.
Sample Use:
tcpdump -s 100 -w /tmp/tcpdump.out host
hostname
(or on solaris: snoop -s 100 -o /tmp/tcpdump.out dest host hostname )
tcptrace -Sl /tmp/tcpdump.out
xplot /tmp/a2b_tsg.xpl
You can also try using the Fermi National Lab
Network Troubleshooting Methodology".