Node.js stemmt locker 250.000 Verbindungen auf günstigem Server
Kommentare

Der Hacker Aaron „Caustik“ Robinson hat Node.js auf einem stundenweise gebuchten Cloud-Server von Rackspace ausgereizt und es auf 250.000 gleichzeitige Verbindungen gebracht. Damit stieß er an das Speicherlimit

Der Hacker Aaron „Caustik“ Robinson hat Node.js auf einem stundenweise gebuchten Cloud-Server von Rackspace ausgereizt und es auf 250.000 gleichzeitige Verbindungen gebracht. Damit stieß er an das Speicherlimit der V8-Engine, während CPU- und Arbeitsspeicher-Ressourcen des Servers noch längst nicht erschöpft waren.

Node.js wuchtet 250.000 Verbindungen und stößt ans RAM-Limit der V8-Engine (Quelle: Caustik Blog)

Mit den Tests hat der Hacker zu Beginn des Osterwochenendes angefangen. In seinem ersten Post hat Causik erklärt, wie er mit dem „Sprites„-Projekt dem Node.js-Server auf den Zahn fühlen möchte. Die kleinen C++-Apps speichern Lage-Informationen als JSON-Files ab, die via HTTP an den Server und dann an zufällige andere Spieler übertragen werden. Das geschieht, wenn der Anwender seine Spielfigur packt und über den Bildschirmrand wirft. Sie landet dann bei jemandem, der ebenfalls Sprites ausführt.

Mit „Sprites“ testet Caustik den Node.js-Server und er schafft in einer einzigen Instanz 250.000 gleichzeitige Verbindungen

Für seinen Test hat er auf dem EC2-Server der Amazon-Cloud mehrere Fake-Clients gestartet, die sich die Spielfiguren gegenseitig hin- und her warfen. Auch den Node-Server musste er via ulimit -n 999999 modifizieren, womit das Limit der File-Handles von 1.024 auf knapp eine Million angehoben wurde. Zusätzlich hat Causik Tweaks an der Socket-Verwaltung von Node.js und an der Garbage Collection der V8-Engine vorgenommen. Letztendlich stieße er aber an das Heap-Limit der V8-Engine, das bei 1,4 Gigabyte angesetzt ist.

Nun zu den Kosten: Jede Instanz auf dem EC2-Server kostet zwei Cent und pro Instanz testet Caustik 1.000 Verbindungen. Eine Millionen simulierte Clients würden ihn somit 20 US-Dollar kosten. Der Server, auf dem er Node.js laufen lässt, ist ein 2 GB Rackspace Cloud Server, der ihn 12 Cent pro Stunde kostet.

Unsere Redaktion empfiehlt:

Relevante Beiträge

Meinungen zu diesem Beitrag

X
- Gib Deinen Standort ein -
- or -