在压测朋友圈服务的时候,因为接入了易盾的敏感词检测是http的请求,在TPS数百的时候,服务内部大量报错了 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的错误。
文章图片
设置之后:
该问题得到了解决。
文章图片
参考资料:
https://stackoverflow.com/que...
推荐阅读
- 前端|超火的炫酷告白源码(HTML+CSS),前端表白源码,520表白,七夕情人节专属源码--文字开场白+相册旋转+浪漫3D樱花樱花雨
- 前端|npm ERR code ENOENT npm ERR syscall open npm ERR path CUserspackage.jsonnpm ERR code ENOENT n
- Vue.js|VUE全家桶系列之基本知识点
- Node的内存控制
- vue.js|vue中使用axios封装成request使用
- vue|电商后台管理系统(vue+python|node.js)
- node 与 ts-node
- 后端工作笔记
- 关于项目中 Repository 层的思考