Node.js Etimeout解决方案

在压测朋友圈服务的时候,因为接入了易盾的敏感词检测是http的请求,在TPS数百的时候,服务内部大量报错了 ETIMEOUT 的错误;
Node.js Etimeout解决方案
文章图片

在Node.js中可以在程序的入口文件类似 server.ts | app.ts 或者 入口文件 中 插入以下代码:
process.env.UV_THREADPOOL_SIZE = '128'
但可以在启动时通过将UV_THREADPOOL_SIZE环境变量设置为任何值来更改它 (最大值为 1024)。
Node.js默认该值为4。
因为在DNS解析需要花大量时间的,导致了阻塞,这个时候会返回etimeout的错误。
【Node.js Etimeout解决方案】在设置 UV_THREADPOOL_SIZE 属性之前 ,有近1%的请求是因为etimeout返回了http code 为 500的错误。
Node.js Etimeout解决方案
文章图片

设置之后:
该问题得到了解决。
Node.js Etimeout解决方案
文章图片

参考资料:
https://stackoverflow.com/que...

    推荐阅读