Hello, I've got an inhouse webserver that serves a lot of small files over a high latency WAN intranet link cross-country, and as all requests are essentially for a single file 8KB-64KB, tcp slowstart greatly impacts loading speed. We were running this project on a FreeBSD 4.10 server for a long time, and had net.inet.tcp.slowstart_flightsize=44, which seemed to generally burst the entire file out before the first ack came in, which greatly reduced load time of some intranet pages. We have a lot of headroom in our network and no measurable packet loss, so we didn't find any problems with a slowstart_flightsize that high. This server was getting somewhat old and needed upgraded hardware to handle the load it was given (3000+ requests/sec for random files, dataset of 20+GB, so considerable load on the drives), and at the time of the hardware upgrade, we decided to put FreeBSD 6.0-STABLE on the system. Since then, I've noticed that no matter what I do, the box sends out 2 packets in the initial slowstart burst, then an ack, then 3, then an ack, then 5, etc. It doesnt matter if I have slowstart_flightsize set to 1, 2, 4, 44, 1024, etc. I tried disabling rfc3390, but that doesnt seem to change anything. I've tried toggling rfc1323, rfc3042, sack, delayed_ack, and none seem to have any effect. This appears to be a big change from FreeBSD 4, and perhaps even a bug (slowstart_flightsize seems to do absolutely nothing). Anyone have any ideas on how to fix this, other than going back to FreeBSD 4? Below should be all relevant sysctl's [root@web]# sysctl -a|grep tcp tcpreass: 20, 1690, 3, 166, 138941 tcptw: 48, 13182, 1270, 4970, 10554116 tcpcb: 460, 65536, 1969, 7703, 31090220 net.inet.tcp.rfc1323: 0 net.inet.tcp.mssdflt: 1460 net.inet.tcp.keepidle: 600000 net.inet.tcp.keepintvl: 75000 net.inet.tcp.sendspace: 65535 net.inet.tcp.recvspace: 32768 net.inet.tcp.keepinit: 75000 net.inet.tcp.delacktime: 100 net.inet.tcp.hostcache.cachelimit: 15360 net.inet.tcp.hostcache.hashsize: 512 net.inet.tcp.hostcache.bucketlimit: 30 net.inet.tcp.hostcache.count: 12598 net.inet.tcp.hostcache.expire: 3600 net.inet.tcp.hostcache.purge: 0 net.inet.tcp.log_in_vain: 0 net.inet.tcp.blackhole: 0 net.inet.tcp.delayed_ack: 1 net.inet.tcp.rfc3042: 1 net.inet.tcp.rfc3390: 0 net.inet.tcp.insecure_rst: 0 net.inet.tcp.reass.maxsegments: 1600 net.inet.tcp.reass.cursegments: 3 net.inet.tcp.reass.maxqlen: 48 net.inet.tcp.reass.overflows: 0 net.inet.tcp.path_mtu_discovery: 1 net.inet.tcp.slowstart_flightsize: 44 net.inet.tcp.local_slowstart_flightsize: 4 net.inet.tcp.newreno: 1 net.inet.tcp.sack.enable: 1 net.inet.tcp.sack.maxholes: 128 net.inet.tcp.sack.globalmaxholes: 65536 net.inet.tcp.sack.globalholes: 12 net.inet.tcp.minmss: 216 net.inet.tcp.minmssoverload: 0 net.inet.tcp.tcbhashsize: 16384 net.inet.tcp.do_tcpdrain: 1 net.inet.tcp.pcbcount: 3237 net.inet.tcp.icmp_may_rst: 1 net.inet.tcp.isn_reseed_interval: 0 net.inet.tcp.inflight.enable: 0 net.inet.tcp.inflight.debug: 0 net.inet.tcp.inflight.min: 6144 net.inet.tcp.inflight.max: 1073725440 net.inet.tcp.inflight.stab: 20 net.inet.tcp.syncookies: 1 net.inet.tcp.syncache.bucketlimit: 30 net.inet.tcp.syncache.cachelimit: 15359 net.inet.tcp.syncache.count: 65 net.inet.tcp.syncache.hashsize: 512 net.inet.tcp.syncache.rexmtlimit: 3 net.inet.tcp.msl: 30000 net.inet.tcp.rexmit_min: 3 net.inet.tcp.rexmit_slop: 200 net.inet.tcp.always_keepalive: 1 Thanks Much. --Stephan