【问题标题】:Node.js WebSocket DaemonNode.js WebSocket 守护进程
【发布时间】:2016-10-22 16:40:55
【问题描述】:

我在运行 debian 的谷歌云上的 node.js 中构建了一些简单的 websocket 服务器应用程序,还为它创建了守护程序服务“websocket”。 该服务是使用this script 创建的。 现在,我必须使用 Artillery 进行负载测试

奇怪的是 - 当我像“node Server.js”一样运行我的应用程序时,它能够毫无问题地处理高达每秒 ~300 个请求,但是像“sudo service”一样运行它websocket start”它在大约 20-30 秒后停止响应 50 RPS。此时炮兵显示错误:ECONNRESET: NUMBER_OF_ERRORS 并且 websocket 变得不可用。 在我停止负载测试的那一刻,它立即变得可用并响应请求。 服务始终显示“活动(运行)”。

我在日志或日记中看不到任何东西。在网上找不到任何信息。

我是 linux 新手,是否存在导致此问题的守护进程的任何其他限制?

所有这些都在 Debian 8 Jessie 上运行,在 Google Cloud VM 中。 Node.js websocket 模块为 nodejs-websocket:https://www.npmjs.com/package/nodejs-websocket

【问题讨论】:

    标签: node.js websocket debian daemon google-cloud-platform


    【解决方案1】:

    已经能够使用 PM2 解决此问题,如下所示:

    安装npm install -g pm2

    将服务作为守护进程启动,将其命名为“websocket”pm2 start /home/admin/websocket/Server.js --name="websocket"

    记住守护进程在失败时重启pm2 save

    用机器pm2 startup使PM2启动-> sudo su -c "env PATH=$PATH:/usr/bin pm2 startup linux -u admin --hp /home/admin"

    pm2 list查看所有PM2进程

    参考herehere

    附:无需删除以前的服务即可。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2023-03-02
      • 2013-05-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-03-06
      相关资源
      最近更新 更多