在压测朋友圈服务的时候,因为接入了易盾的敏感词检测是 http 的申请,在 TPS 数百的时候,服务外部大量报错了 ETIMEOUT 的谬误;
在 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 的谬误。
设置之后:
该问题失去了解决。
参考资料:
https://stackoverflow.com/que…