Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/40.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
nodejs server express的nginx反向代理对丢失数据包的客户端的响应非常慢(每个数据块20秒)_Express_Http_Nginx_Tcp_Packet Loss - Fatal编程技术网

nodejs server express的nginx反向代理对丢失数据包的客户端的响应非常慢(每个数据块20秒)

nodejs server express的nginx反向代理对丢失数据包的客户端的响应非常慢(每个数据块20秒),express,http,nginx,tcp,packet-loss,Express,Http,Nginx,Tcp,Packet Loss,我的web应用程序的客户端和我的nodejs express服务器之间有一个nginx。我的一些客户有数据包丢失 我正在测试20%的数据包丢失率(入站或出站-在windows上通过笨拙的chrome)。我正在请求一个简单的express web服务器上的大型资源(500k字节) 我遇到了一个非常慢的响应时间-每个块(约16k)有时在100毫秒,在每次测试中,我有几个块在几秒钟后到达(甚至高达20-40秒) my upstream(express)在0.6秒内将整个资源提供给ngnix(根据my

我的web应用程序的客户端和我的nodejs express服务器之间有一个nginx。我的一些客户有数据包丢失

我正在测试20%的数据包丢失率(入站或出站-在windows上通过笨拙的chrome)。我正在请求一个简单的express web服务器上的大型资源(500k字节)

我遇到了一个非常慢的响应时间-每个块(约16k)有时在<10毫秒内到达,有时>100毫秒,在每次测试中,我有几个块在几秒钟后到达(甚至高达20-40秒)

my upstream(express)在0.6秒内将整个资源提供给ngnix(根据my express中每个区块的日志和ngnix访问日志)

作为参考-当从youtube请求视频播放资源时,并在20%的数据包丢失率下进行测试-数据块大小大致相同,每个数据块在不到100毫秒的时间内到达。因此,尽管我预计响应时间会较慢,但一个数据块(不是整个资源)的20秒是一个问题

我在ngnix错误日志中没有发现错误,ngnix机器上没有数据包丢失,使用ngnix缓冲区(没有缓冲区,更大的缓冲区)-没有结果。没有写入机器光盘。ngnix端没有超时


有什么想法吗?任何其他相关的ngnix配置?可能是ngnix机器内核tcp拥塞控制配置?谢谢

没有更多的信息是不可能知道的。你能包括你的nginx配置吗?另外,
htop
在您的服务器上说了什么?有什么过载的吗?谢谢安德鲁-最后我们发现拥塞控制算法是默认的立方体,一旦我们将其更改为BBR(新的youtube谷歌算法),它就解决了这个问题:)没有更多信息就不可能知道。你能包括你的nginx配置吗?另外,
htop
在您的服务器上说了什么?有什么过载的吗?谢谢安德鲁-最后我们发现拥塞控制算法是默认的立方体,一旦我们将其更改为BBR(新的youtube谷歌算法),它就解决了这个问题:)