2016-06-21 12 views
0

Ich habe etwas einfache Websocket-Server-Anwendung in node.js auf einer Google-Cloud mit debian gebaut, auch Daemon-Service für sie "Websocket" erstellt. Der Dienst wurde mit this script erstellt. Nun, ich habe auf die Last-Prüfung ArtilleryNode.js WebSocket Daemon

Die seltsame Sache verwendet, ist - wenn ich meine App wie „Knoten Server.js“ laufen sie in der Lage zu handhaben bis zu ~ 300 Anfragen pro Sekunde ohne irgendwelche Probleme, aber runnnig es wie "sudo Service Websocket Start" es reagiert nicht mehr bei 50 RPS nach ~ 20-30 Sekunden. An diesem Punkt zeigt Artillerie Fehler an: ECONNRESET: NUMBER_OF_ERRORS und Websocket ist nicht mehr verfügbar. Sobald ich den Belastungstest abbringe, wird es sofort verfügbar und reagiert auf Anfragen. Der Service zeigt die ganze Zeit "aktiv (läuft)".

Ich sehe nichts im Protokoll oder Journal. Keine Informationen im Internet gefunden.

Ich bin irgendwie neu im Linux, gibt es irgendwelche zusätzlichen Einschränkungen auf dem Daemon, die das verursachen?

All dies läuft auf Debian 8 Jessie, in einer Google Cloud VM. Node.js websocket Modul ist NodeJS-websocket: https://www.npmjs.com/package/nodejs-websocket

Antwort

0

in der Lage gewesen, um diesen mit PM2 arbeiten wie folgt:

Installieren npm install -g pm2

Start Dienst als Daemon, die Namensgebung 'WebSocket' pm2 start /home/admin/websocket/Server.js --name="websocket"

Dämonen erinnern an neu zu starten pm2 save scheitern

make PM2 Inbetriebnahme mit der Maschine pm2 startup ->

pm2 list Sehen Sie alle PM2 Prozesse

Siehe here und here für den Hinweis.

P.S. Der vorherige Dienst musste nicht entfernt werden, damit dies funktioniert.