In your case, TCP_NODELAY should be set in your windows memcache client, 
rather than in memcache server.

在 2014年9月12日星期五UTC+8下午4时48分42秒,[email protected]写道:
>
> 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.

Reply via email to