2012-08-17 154 views
0

我正在开发一个node.js服务,每秒会有一些请求 - 比如说1000.让我们想象一下响应数据加权了一下,与客户的连接速度非常慢并且将回复发送回客户需要约1秒的时间。node.js上的响应缓冲node.js

问题#1 - 我想如果没有代理缓冲,则需要node.js 1000秒才能发回所有响应,因为这是阻止操作,不是吗?

问题2 - nginx缓冲区(以及一般的缓冲区)是如何工作的?我是否能够接收所有1000个缓冲区响应(提供的RAM不是问题),然后才将它们刷新到客户端? proxy_buffers的限制是什么?我可以将每个缓冲区的数量设置为1000 1K吗?

目标是尽快清除node.js中的所有响应,以便不会阻止它并使用其他系统来传递它们。

谢谢!

回答

2

当然,发送响应是非阻塞操作。节点只是给网络驱动程序一个块,将所有其他工作留给您的操作系统。

如果发送的响应是阻塞操作,它只会将一台PC的网络人为地瘫痪到DoS任何基于节点的服务。

+0

我对网络知之甚少..非常感谢! :) – sPaul 2012-08-17 07:46:12