J'expérimente node.js et je suis confronté à un problème étrange de débit. Au fond, j'ai ce code pour créer un simple serveur HTTP (sur une machine virtuelle avec 4 Go de RAM et 4 vCPU, sous Ubuntu 16.04 et Node.js v6.3.1):Augmenter le débit du serveur http node.js
const http = require('http');
http.createServer((req, res) => {
res.writeHead(200, { 'Content-Type': 'text/plain' });
res.end('Hello');
}).listen(8888);
Je suis en avec node server.js
à démarrer le serveur HTTP, puis je suis en train de charger le test à partir d'une autre machine en utilisant Apache Bench:
ab -l -r -n 100 -c 50 -k http://server-ip:8888/
Cependant, quel que soit le simultanéité nombre & de demandes (n/valeurs c) J'ai testé avec, les résultats de référence montrent toujours les «demandes par seconde» à moins de 5/sec, ce qui est trop lo w pour un framework évolutif comme node.js et un simple serveur HTTP comme ci-dessus.
Donc, je suppose que c'est quelque chose à voir avec la configuration, les paramètres, etc. Quelqu'un a des idées sur la façon d'augmenter le débit dans ce cas ?!
Mise à jour: Je suis venu des gens qui obtiennent à haut débit avec le code de base quasi-identique en cours d'exécution sur les machines virtuelles nuage:
http://zgadzaj.com/benchmarking-nodejs-basic-performance-tests-against-apache-php
https://www.jayway.com/2015/04/13/600k-concurrent-websocket-connections-on-aws-using-node-js/
http://blog.yld.io/2016/02/08/squeeze-the-juice-out-of-node/
http://blog.caustik.com/2012/08/19/node-js-w1m-concurrent-connections/
Utilisez un cluster pour utiliser plusieurs cœurs. – Amit
Pas de chance. Résultats identiques avec 'cluster' (de 4 travailleurs). – Nick
Essayez ensuite un serveur dédié. – Amit