2010-11-18 1 views
5

Sono nuovo su node.js. Sto testando socket.io per la messaggistica in tempo reale. Lo amo e voglio usare. Ho una domanda. Quante concurrency possono essere eseguite nel server Node.js? Il nostro programma sarà di circa 100 concorrenti. Quindi, sono preoccupato per quello.node.js concurrency

Ho trovato un altro server di messaggistica in tempo reale, APE. Qual è il migliore ? Amo node.js perché è facile da imparare e facile da scrivere. Ma non sono riuscito a trovare discussioni sulla concorrenza nel server node.js. La mia società di amici usa l'APE e può controllare intorno al 2000. Quindi, voglio sapere del server node.js.

risposta

12

Senza avere alcun benchmark a supporto di questo, poiché entrambi sono basati sugli eventi (ad esempio epoll su Linux), immagino che vedrete risultati comparabili per entrambi (almeno 10.000 utenti simultanei). Detto questo, è probabile che le prestazioni siano molto più influenzate dalla frequenza dei messaggi rispetto al numero di connessioni simultanee, poiché è lì che le implementazioni differiscono davvero.

Per un esempio del mondo reale e discussione su node.js Prestazioni comete, vedi l'eccellente post sul blog di Amir Salihefendic qui: http://amix.dk/blog/post/19577 (puoi seguire i link in quel post anche ad altri post che sono fantastici).

Si noti che una delle versioni che ha scritto si trovava in C utilizzando libevent (epoll), che è anche quello utilizzato da APE. Inoltre, tieni presente che il sito Web di APE afferma che può gestire oltre 100.000 utenti simultanei.

Se vuoi veramente capire i problemi associati, potresti trovare interessante il famoso articolo "Problema C10K" (fai una ricerca su Google per "problema C10K").

Alla fine, probabilmente si tratta di quante richieste al secondo si aspettano, e di quante macchine si dispone, e in quale lingua si preferisce codificare. Se ci si aspetta solo circa 100 utenti simultanei, penso starai bene usando qualsiasi piattaforma tu voglia. Detto questo, consiglio vivamente di usare node.js - solo per puro divertimento, se non altro. :-)

+3

+1 Una delle caratteristiche più interessanti di nodo. js è che può prendere qualsiasi cosa tu ci passi. (È follemente veloce!) – xj9

+0

@ xj9 non proprio .. la sua JS VM non può essere più veloce del core C: P – ShrekOverflow

+0

@Abhishek In realtà c'era un benchmark in cui veniva eseguito pari a C++ non ottimizzato, e solo 2 volte più lento di - O2 – 9point6