Nginx 背后的 Tornado,我应该在 python 还是 nginx.conf 中使用 TCP nodelay 配置?
Tornado behind Nginx, should I use TCP nodelay config in python or nginx.conf?
我在 Nginx 反向代理后面有一个 Tornado 服务器 运行。代理配置为 tcp_nodelay: on
。我看到还有一个选项可以在连接后在 WebSocket 实例上调用 WebSocketHandler.set_nodelay(True)
。
这两个效果一样吗?使用其中一个有优缺点吗?或者两者兼而有之?
一般来说,如果您使用 nodelay
和代理,您应该在所有级别都启用它以查看任何好处。否则,任何没有 nodelay
的系统部分都会插入您试图避免的延迟。
根据nginx docs for tcp_nodelay
,它仅在连接处于keep-alive 状态时适用,因此它对代理的websockets 没有影响。
我在 Nginx 反向代理后面有一个 Tornado 服务器 运行。代理配置为 tcp_nodelay: on
。我看到还有一个选项可以在连接后在 WebSocket 实例上调用 WebSocketHandler.set_nodelay(True)
。
这两个效果一样吗?使用其中一个有优缺点吗?或者两者兼而有之?
一般来说,如果您使用 nodelay
和代理,您应该在所有级别都启用它以查看任何好处。否则,任何没有 nodelay
的系统部分都会插入您试图避免的延迟。
根据nginx docs for tcp_nodelay
,它仅在连接处于keep-alive 状态时适用,因此它对代理的websockets 没有影响。