FreeBSD -> Windows HTTP TCP performance
Andre Oppermann
andre at freebsd.org
Thu Jan 15 06:30:26 PST 2004
CHOI Junho wrote:
>
> For those who interested, I made packet dump file:
>
> http://www.kr.freebsd.org/~cjh/misc/freebsd-net/
>
> Best thing is do tcpdump at client machine but I have no admin
> permission, so failed.
I can't read the dump files with ethereal, it says they are corrupt.
But lets go through your sysctl settings:
> kern.clockrate: { hz = 2000, tick = 500, ...
HZ should not be higher than 1000 or you get problems with some
tcp timers.
> kern.ipc.maxsockbuf: 67108864
This is way too high. Normally it is 262144 (=256k). Don't do
more than 1MByte.
> <118>Jan 12 13:06:21 kt-down3 thttpd[37449]: accept - Software caused connection abort
> <118>Jan 12 13:21:00 kt-down3 thttpd[37449]: mmc panic - freeing 49 unreferenced maps
> <118>Jan 12 13:22:49 kt-down3 thttpd[37449]: mmc panic - freeing 49 unreferenced maps
> <118>Jan 12 13:31:18 kt-down3 thttpd[37449]: mmc panic - freeing 45 unreferenced maps
> <118>Jan 12 13:33:12 kt-down3 thttpd[37449]: mmc panic - freeing 110 unreferenced maps
This doesn't look good. You should find out why thttpd is complaining.
> net.inet.tcp.sendspace: 32768
> net.inet.tcp.recvspace: 16384
It's better to have them both at 65536 (64k).
> net.inet.tcp.delayed_ack: 0
It's better to have this turned on.
> net.inet.tcp.slowstart_flightsize: 1
You can raise this to 4.
> net.inet.tcp.msl: 1000
It's better to have this at 30000.
You should change these values and try again. A new tcpdump would be
helpful too.
--
Andre
More information about the freebsd-net
mailing list