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 [EMAIL PROTECTED]
with "unsubscribe freebsd-net" in the body of the message

Reply via email to