getline() very very slow on localhost on 5.X
Mikko Työläjärvi
mbsd at pacbell.net
Thu Feb 3 08:57:05 PST 2005
Hi Martin,
Judging by the tcpdump, I'd say tpop3d needs to setockopt(TCP_NODELAY).
On Thu, 3 Feb 2005, Martin Blapp wrote:
[...]
> 12:57:37.443544 IP mx2i.53848 > mx1i.pop3: . ack 106497 win 34048 <nop,nop,timestamp 38840793 137977961>
> 12:57:37.444256 IP mx1i.pop3 > mx2i.53848: P 106497:114689(8192) ack 0 win 34048 <nop,nop,timestamp 137977971 38840793>
Pop server sends data.
> 12:57:37.543486 IP mx2i.53848 > mx1i.pop3: . ack 114689 win 34048 <nop,nop,timestamp 38840803 137977971>
100ms later - delayed ack from client.
> 12:57:37.545426 IP mx1i.pop3 > mx2i.53848: P 114689:122881(8192) ack 0 win 34048 <nop,nop,timestamp 137977982 38840803>
Pop server imediately sends some more data.
> 12:57:37.644410 IP mx2i.53848 > mx1i.pop3: . ack 122881 win 34048 <nop,nop,timestamp 38840813 137977982>
Another 100ms laterm another lone delayed ack from client.
> 12:57:37.645402 IP mx1i.pop3 > mx2i.53848: P 122881:131073(8192) ack 0 win 34048 <nop,nop,timestamp 137977992 38840813>
Etc...
> 12:57:37.743474 IP mx2i.53848 > mx1i.pop3: . ack 131073 win 34048 <nop,nop,timestamp 38840823 137977992>
> 12:57:37.744181 IP mx1i.pop3 > mx2i.53848: P 131073:139265(8192) ack 0 win 34048 <nop,nop,timestamp 137978001 38840823>
> 12:57:37.843553 IP mx2i.53848 > mx1i.pop3: . ack 139265 win 34048 <nop,nop,timestamp 38840833 137978001>
> 12:57:37.844312 IP mx1i.pop3 > mx2i.53848: P 139265:147457(8192) ack 0 win 34048 <nop,nop,timestamp 137978011 38840833>
[...]
Presumably FreeBSD doesn't do delayed acks and/or the Nagle algorithm
on the loopback interface.
$.02,
/Mikko
More information about the freebsd-current
mailing list