nodejs+express 同一个接口多次请求后timeout

image.png
这是nginx的log,显示timeout,前端在时间到达以后也返回了504,接口是通的,最开始前20次请求都能立即响应,再往后继续请求就不行了

后端查询使用了事务

这是postman的测试界面
image.png
从第20个请求开始就504了,测试了好几次都这样,但是找不到原因,pm2的log里面只有警告:
[DEP0066] DeprecationWarning: OutgoingMessage.prototype._headers is deprecated
但不是警告不会影响程序执行么?
可是比较疑惑的是,每一次出现这个警告就一定不再执行了,然后就timeout

nodejs人入门菜鸟,希望大佬能帮忙解答一下疑惑。感激不尽

阅读 10.3k
2 个回答

要么事务没有提交要么连接没有释放

连接未释放的问题很大

20次请求成功,21次失败,因为你连接池大小是20,超过20之后由于没有释放,陷入到无限等待中,直到nginx等待nodejs超时,所以才发送504错误。
504错误是Gateway Timeout,很符合情况

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题