来自节点redis docs:
socket_nodelay:默认为true。是否调用setNoDelay() TCP流,它禁用底层的Nagle算法 插座。将此选项设置为false可能会导致额外的操作 吞吐量以更多延迟为代价。大多数应用程序都需要 这设置为真。
为什么我要关闭Nagle的算法?
答案 0 :(得分:11)
当您担心延迟时,您会想要关闭Nagle算法。我对该算法的理解是它延迟发送数据,直到有合理的发送量。这反过来减少了流的协议开销,因为在单个数据包中发送更多数据(即使用单个报头)。
关闭Nagle算法后,想法是数据立即由协议栈发送。
它是在网络资源受到更多限制的当天设计的,因此减少开销对于便利的交付更为重要。然而,如今通常更快的互连和更低的延迟要求,它变得不那么重要了。 (想想视频流!)