Node.js Etimeout解决方案

骆佳俊 -
Node.js Etimeout解决方案

在压测朋友圈服务的时候,因为接入了易盾的敏感词检测是http的请求,在TPS数百的时候,服务内部大量报错了 ETIMEOUT 的错误;
image.png

在Node.js中可以在程序的入口文件类似 server.ts | app.ts 或者 入口文件 中 插入以下代码:

process.env.UV_THREADPOOL_SIZE = '128'

但可以在启动时通过将UV_THREADPOOL_SIZE环境变量设置为任何值来更改它 (最大值为 1024)。

Node.js默认该值为4。

因为在DNS解析需要花大量时间的,导致了阻塞,这个时候会返回etimeout的错误。

在设置 UV_THREADPOOL_SIZE 属性之前 ,有近1%的请求是因为etimeout返回了http code 为 500的错误。
image.png
设置之后:

该问题得到了解决。

image.png

参考资料:

https://stackoverflow.com/que...

特别申明:本文内容来源网络,版权归原作者所有,如有侵权请立即与我们联系(cy198701067573@163.com),我们将及时处理。

Tags 标签

node.js

扩展阅读

加个好友,技术交流

1628738909466805.jpg