node.js上的node.js响应缓冲

时间:2012-08-17 06:17:15

标签: node.js nginx

我正在开发一个node.js服务,它每秒会有多个请求 - 比如1000.让我们想象一下,响应数据有点重,与客户的连接速度非常慢,响应需要大约1秒。被送回客户端。

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

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

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

谢谢!

1 个答案:

答案 0 :(得分:2)

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

如果发送响应是阻止操作,那么只需将一台PC及其网络人为地削弱为DoS任何基于节点的服务。