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 没有影响。