nginx学习随笔–tcp_nodelay
英文原文:
Syntax: tcp_nodelay on | off;
Default: tcp_nodelay on;
Context: http, server, location
Enables or disables the use of the TCP_NODELAY option. The option is enabled only when a connection is transitioned into the keep-alive state.
中文翻译:
允许或者禁止使用TCP_NODELAY选项。这个选项只有在连接变成keep-alive状态时,才允许使用。
- tcp_nodelay指令作用于socket参数TCP_NODELAY。
- tcp_nodelay是nagle算法启用与否的开关。有些应用在网络通讯时会发送很少的字节,比如一个字节,而这一个字节又以网络数据包的形式发送到远端服务器,那么如果此类的数据包过多,就会导致网络过载。而nagle算法可以实现如果发送端欲多次发送包含少量字符的数据包,则发送端会先将第一个小包发送出去,将后面的少量字符数据都缓存起来而不立即发送,直到收到接收端对前一个数据包报文段的ACK确认、或当前字符属于紧急数据,或者积攒到一定数量的数据等多种情况才将其组成一个较大的数据包发送出去。