Status: New
Owner: ----
Labels: Type-Defect Priority-Medium
New issue 377 by [email protected]: The TCP_NODELAY is not set at the
accepted socket
https://code.google.com/p/memcached/issues/detail?id=377
The TCP_NODELAY is only set at the listening socket, and not set at the
accepted socket. In Linux machine I tested, the TCP_NODELAY on listening
socket cannot be inherited by the accepted socket.
There is a serious performance problem when TCP_NODELAY is not set on
memcached server and when the client machine has delayed ack enabled (like
default in windows, the delayed ACK can be 200ms)
A test case:
client on windows get an item from a linux memcached server. The response
item size should be >1400 and <2800 (including all parameters)
1. the first 1400 bytes will be sent immediately. and the remaining bytes
are kept in buffer without sending
2. windows client received the first 1400 bytes and the delay acks take
effect.
3. widows client wait 200ms when the delay ack time out happens. Then the
ack is sent.
4. memcached receives the ack and then the remaining bytes is sent
5. windows client receives the remainning bytes
Result:
The windows client got the item with a delay of 200ms unnecessarily.
--
You received this message because this project is configured to send all
issue notifications to this address.
You may adjust your notification preferences at:
https://code.google.com/hosting/settings
--
---
You received this message because you are subscribed to the Google Groups "memcached" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
For more options, visit https://groups.google.com/d/optout.