Node.js WebSocket守护程序

时间:2016-06-21 08:28:04

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

我在运行debian的google云上的node.js中构建了一些简单的websocket服务器应用程序,还为它创建了守护进程服务" websocket"。 该服务是使用this script创建的。 现在,我已经使用Artillery

进行了负载测试

奇怪的是 - 当我运行我的应用程序时,如#34;节点Server.js"它能够毫不费力地处理高达〜 300个每秒的请求,但运行起来就像" sudo service websocket start"在约20-30秒后,它在 50 RPS 时停止响应。此时炮兵显示错误:ECONNRESET:NUMBER_OF_ERRORS和websocket变得不可用。 当我停止负载测试时,它立即变为可用并响应请求。 服务显示"活跃(运行)"整个时间。

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

我是linux的新手,是否会对守护进程造成任何其他限制?

这一切都在Google Cloud VM中的Debian 8 Jessie上运行。 Node.js websocket模块是nodejs-websocket:https://www.npmjs.com/package/nodejs-websocket

1 个答案:

答案 0 :(得分:0)

能够使用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作为参考。

P.S。没有必要删除以前的服务才能使用。