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

这可能超出了Node.js可以控制的范围,但是对于这个问题的其他解决scheme的任何指针也都会受到赞赏。

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

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

我不知道决定在哪个地方发送更小的数据块,如果是由客户端软件执行的计算(curl和node.js客户端产生相同的结果),或者是路由硬件,切分数据包之间,或者完全不同的东西。

我想知道是否有任何事情可以做到强制更大的块到服务器,或者可能是一种替代方法,克服与处理这些小块相关的服务器冲突?

经过大量的实验和networking工程师的讨论,这个问题的核心是当连接超越了直接的以太网连接时,MTU尺寸所施加的限制。

我的解决scheme是修改应用程序以使用多个同时发生的请求,从而基本上填补由较小块的networking开销创build的空白。 其结果是以更小的复杂性为代价大大加快了networking传输速度。