Node.js Webperf

Je vous propose un comparatif des performances web entre Apache Tomcat et Node.js sur des machines ARMv5 DockStar et SheevaPlug. Il y a quelques jours, j'ai regardé une video, présentant les performances web, d'un cluster de machines ARM composé de 5 SheevaPlug. J'ai eu l'idée de monter ce comparatif !

Commençons par la vidéo. Il s'agit de démontrer la scalabilté de Apache Tomcat, avec un cluster réalisé avec des machines ARM Sheevaplug, ayant des caractéristiques proches du Seagate DockStar.

J'ai réalisé mon test avec une seule machine DockStar. J'ai installé Node.JS, et copié l'ensemble du site howtonode.org, depuis le repository GitHUB. Ce site utilise Wheat, un moteur blog écrit en node.js.

Forground web site and ab benchmark tool

J'ai démarré un test aggressif, avec la commande ab (Apache Benchmark). 10000 connexions, 1000 concurrentes !

Au vu des résultats, on constate qu'avec un seul DockStar, j'ai les mêmes performances web qu'un cluster de 2 machines Apache Tomcat !

D'après ce qu'on voit sur la 1er image, node.js utilise seulement 25% des 128Mo de RAM du DockStar, par contre la CPU monte à 83% ...

Bravo Node.JS !