处理过多超时请求时,节点应用停止响应

时间:2019-07-18 14:44:30

标签: node.js ubuntu request koa

我有一个在Ubuntu服务器上运行的节点应用程序,可以处理用户请求,并抓取其他网站的数据,然后将其返回给用户。

最近我们发现了一个问题,那就是当我们正在爬网的网站长时间(如一个小时)没有响应(服务器关闭)时,

我的节点应用程序将停止响应,并影响其他API的请求(其他API将无法处理请求,这将需要很长时间),CPU将会上升,最终整个服务器会关闭,解决的唯一方法是重新启动服务器,或者在服务器关闭之前重新启动节点应用程序。

一开始我以为原因是我没有为抓取其他网站设置超时,所以当请求进入时,由于他们的服务器关闭,很多连接都挂在那里并消耗了服务器资源,但是在我设置之后爬网超时(5秒),此问题仍未解决。

我完全不知道如何解决这个问题,所以有人可以给我一些建议吗?谢谢

环境:

  • 节点v4.6.1
  • Ubuntu 14.04.5 LTS

包装:

  • pm2 v2.8.0
  • koa v1.1.2
  • 请求v2.4.8

Google Cloud Engine上的服务器

  • CPU:6个vCPU
  • 内存:5.5 GB内存
  • 磁盘:50 GB SSD永久磁盘

0 个答案:

没有答案