Date: Fri, 21 Sep 2001 16:46:56 +0900 From: tsuchiya@flab.fujitsu.co.jp To: net@FreeBSD.org Subject: TCP performance question Message-ID: <200109210746.QAA09541@const.kawasaki.flab.fujitsu.co.jp>
next in thread | raw e-mail | index | archive | help
Hello, we observed that TCP is somewhat slow with FreeBSD. Does anybody know this kind of behavior?: We have investigated the problem with simple program like: client server for(){ for(){ write(fd, buf, size); read (fd, buf, size); read (fd, buf, size); write(fd, buf, size); } } and we changed the size from 1 to 10000 byte and measured the time of read/write pair on the server. Usually the measured time is around or less than 1 msec, however it is always 100msec when the size is between 2049 and 2919 byte or between 4381 and 5839 byte or between 7301 and 8751 byte. 100 times slower. Then we measured each of write and read on the client, then we noticed that the write always finishes very quickly like 80usec, and the read is 1msec, and it gets 100msec in ranges above. So I thought there was some buffering with socket write, and I tried SO_OOBINLINE, and TCP_NODELAY, but they did not work on this problem. I checked with tcpdump and found there was no re-sending of packet. I did this between two FreeBSD4.2 machines and between FreeBSD4.1.1 and Solaris 8. Between two Solaris 8 machines, it did not happened. Is this a known problem? or I am doing something wrong? Thanks, Yoshi --- Yoshihiro Tsuchiya To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-net" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200109210746.QAA09541>