node.js
ha compiuto una lunga strada da 0.2.2
. Sembra probabile che ci fossero anche problemi di implementazione con l'architettura discussa nel post collegato, poiché i commenti suggeriscono di non considerare l'utilizzo di più processi di nodo con un servizio di bilanciamento del carico.
Questa è chiaramente una necessità per applicazioni ad alte prestazioni - anzi, l'ultimo paragrafo della node.js
official about section legge:
Ma per quanto riguarda la concorrenza con più processori? I thread non sono necessari per ridimensionare i programmi su computer multi-core? È possibile avviare nuovi processi tramite child_process.fork() questi altri processi verranno pianificati in parallelo. Per il bilanciamento del carico, le connessioni in entrata tra più processi utilizzano il modulo cluster.
Ora, visto che un singolo processo nodo 0.2.2
utilizzato% 10 delle risorse di Netty (come menzionato nel post collegato OP), allora potrebbero hanno eseguito 10 processi nodo sullo stesso hardware, il che pone la domanda: se Netty è 10 volte più veloce del nodo, ma utilizza 10 volte le risorse, allora le loro prestazioni non erano le stesse? Nel frattempo, le prestazioni del nodo sono state drasticamente migliorate nelle versioni >=0.6.0
, , in particolare sui computer con Windows, ora supportato in modo nativo. Vedere i parametri di riferimento di Windows dalla 0.6.0
release notes:
Il benchmark http è stato fatto con 600 clienti su una 10GE rete servita da tre macchine di generazione del carico.
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
Nel frattempo, anche se nessuno sembra voler parlare di ciò esattamente che stanno facendo, sembra che alcuni dei più alti giocatori traffico tecnologia si rivolgono a node.js
per i sistemi ad altissima capacità. Google
, Yahoo
, Mozilla
, e l'avvio i.TV
sono tutti profilati nell'articolo Node at scale pubblicato ieri su venturebeat.com.
Mentre io non riuscivo a trovare punti di riferimento esatti per la cometa/secondo, sembra chiaro che con una corretta architettura del sistema è molto, molto più superiore a 500.