node.js
przeszedł długą drogę od 0.2.2
. Wydaje się prawdopodobne, że były również problemy z implementacją architektury omawianej w połączonym poście, ponieważ komentarze sugerują, że nie rozważyły użycia procesów z wieloma węzłami z modułem równoważenia obciążenia.
Jest to oczywiście konieczność dużej mocy - rzeczywiście, ostatni akapit node.js
official about section brzmi:
Ale co wielu procesorów współbieżności? Czy wątki nie są konieczne do skalowania programów na komputery wielordzeniowe? Możesz rozpocząć nowe procesy przez child_process.fork() te inne procesy zostaną zaplanowane równolegle. Do równoważenia obciążenia połączenia przychodzące w wielu procesach używają modułu klastra.
Teraz, biorąc pod uwagę, że pojedynczy węzeł 0.2.2
proces stosowany% 10 z zasobów Netty (jak wspomniano w PO połączonego słupka), wówczas mogliby uruchomić 10 procesów węzła na tym samym sprzęcie, który nasuwa się pytanie: Jeśli Netty jest 10 razy szybszy od węzła, ale używa 10x zasobów, to czy ich wydajność nie była taka sama? Tymczasem wydajność węzła została drastycznie poprawiona w wersjach >=0.6.0
, , zwłaszcza na komputerach z systemem Windows, który jest teraz obsługiwany natywnie. Zobacz kryteriów Okienka z 0.6.0
release notes:
Benchmark http została wykonana ze 600 klientami w sieci 10GE służył od trzech maszyn generacji obciążenia.
v0.4.12 (windows) v0.6.0 (windows)
http_simple.js /bytes/1024 3858 r/s 5823 r/s
io.js read 12.41 mB/s 26.51 mB/s
io.js write 12.61 mB/s 33.58 mB/s
startup.js 152.81 ms 52.04 ms
Tymczasem, choć nikt nie wydaje się chce rozmawiać o co dokładnie robią, wydaje się jedne z najwyższych technologii ruch graczy zwracają się do node.js
ekstremalnie systemów o dużej pojemności. Google
, Yahoo
, Mozilla
, LinkedIn
i uruchamiania i.TV
są wszystkie profilowane w artykule Node at scale opublikowanym wczoraj na stronie venturebeat.com.
Chociaż nie mogłem znaleźć dokładne odniesienia dla komety/sekundę, wydaje się jasne, że przy prawidłowej architektury systemu jest o wiele, wielewyższy niż 500.