Node.js可以强制更大的POST请求块大小吗?

时间:2015-06-25 15:31:16

标签: node.js http

这可能超出了Node.js可以控制的范围,但是对这个问题的其他解决方案的任何指针也都很受欢迎。

我通过HTTP POST将大文件上传到Node.js服务。当它在本地或局域网上运行时,服务器接收的块总是65536字节,上传速度很快。

当我将相同的文件上传到远程服务器上运行的相同代码(Google Cloud VM或co-lo上的真实硬件)时,收到的块大小在1448-2869之间,上传速度要慢得多(远低于连接的带宽限制。)

如果客户端软件执行的计算(curl和node.js客户端都产生相同的结果),我不确定在WAN连接上发送较小块的决定在哪里或者,如果它之间的路由硬件切换数据包,或完全不同的东西。

我想知道是否有什么办法可以强制更大的块进入服务器,或者可能是另一种方法来克服与处理这些小块有关的服务器崩溃?

1 个答案:

答案 0 :(得分:3)

经过大量实验并与网络工程师讨论后,问题的核心是当连接超出直接以太网链路时MTU大小所施加的限制。

我的解决方案是修改应用程序以使用多个同时请求,从根本上“填补由较小块的网络开销创建的空白”。结果是网络传输速度明显加快,但复杂性有所增加。