Summary FTP Performance

From: Mike Costa <costam_at_optonline.net>
Date: Sun Dec 16 2001 - 11:24:15 EST
First, let me apologize for taking 2 months to post this summary.  Work has been absolutely crazy and I only got the change to devote the time to this problem last week.

Basically, what I found was that the TCP window size in Solaris 2.8 was too small to keep up with the FTP from one of our mainframe environments. When I ran a trace of the network what I saw massive amounts of re-transmits occurring. The final resolution was to set the TCP window size from the Solaris default of 16k to 65k and adjust the congestion window size. An FTP of 250meg that was taking over two hours now ran in about 9 minutes after making this change.

The settings I used as a starting point where;

#!/bin/sh
# increase max tcp window
# Rule-of-thumb: max_buf = 2 x cwnd_max (congestion window)
  ndd -set /dev/tcp tcp_max_buf 4194304
  ndd -set /dev/tcp tcp_cwnd_max 2097152

# increase DEFAULT tcp window size 
  ndd -set /dev/tcp tcp_xmit_hiwat 65536
  ndd -set /dev/tcp tcp_recv_hiwat 65536

I added this shell script to the startup of the box since the setting will be reset to the default when the server is rebooted.

The default settings are


root> ndd -get /dev/tcp tcp_max_buf
1048576

root> ndd -get /dev/tcp tcp_cwnd_max
1048576

root> ndd -get /dev/tcp tcp_xmit_hiwat
16384  (Same for tcp_recv_hiwat)

I am still adjusting these numbers to be optimal for my network but the improvement was phenomenal after I changed these settings.

The following link gives a good explanation of these setting

http://www-didc.lbl.gov/tcp-wan.html


Again, I apologize for the delay and I hope this helps.




Mike Costa
costam@optonline.com
Received on Sun Dec 16 16:24:15 2001

This archive was generated by hypermail 2.1.8 : Wed Mar 23 2016 - 16:32:37 EDT