Ho visto benchmark utilizzando ab
per PHP eseguito a circa 500 richieste al secondo e 1200 volte al secondo per Python. Nota, tuttavia, che queste sono richieste di base che non fanno nulla di veramente spettacolare.
Quindi, il tuo collo di bottiglia sarà il tuo codice server: è sicuramente possibile raggiungere 1k richieste al secondo usando Apache / FastCGI / C ++, tutto dipende dall'hardware del tuo server e dalla complessità del tuo codice server (e dal lato server I / O, ecc.)
Da una nota a margine, c'è una ragione per cui stai usando questo particolare stack tecnologico? C ++ di solito non è un linguaggio molto carino per scrivere il codice del server in (al contrario di Java, ecc.). Potrei anche guardare una lingua come Erlang per il codice lato server per aggirare il requisito FastCGI per dare al tuo server ancora più spinta.
In risposta ai commenti dell'OP (un po 'troppo lungo per un commento):
@Joe Rice: TBH, troverei perfettamente accettabile che gli utenti di giochi siano obbligati a utilizzare i browser più aggiornati: non si possono usare vecchi client di gioco basati su PC nella maggior parte degli ambienti e si può sicuramente t nel mondo della console, quindi perché i giochi basati su browser dovrebbero essere diversi? Potresti iscriverti a un altro mondo di feriti, soprattutto considerando i tuoi limiti di budget.
Se le tue preoccupazioni riguardano il budget, perché non dare un'occhiata a node.js come server tech con le librerie socket.io sia lato client che server? Ci sono alcuni bonus qui:
- Nessun cambio di contesto (bene, limitato). Lo stesso linguaggio usato sia dal lato client che dal lato server, quindi non è necessario cambiare continuamente mentalità.
- Gestito in modo elegante per la degredation: socket.io ha una serie di meccanismi di fallback incorporati per gestire il supporto sulla maggior parte dei browser.
- node.js supporta TCP e (AFAIK) UDP, quindi non devi preoccuparti del sovraccarico di HTTP (anche se ovviamente dovresti affrontare tu stesso i problemi di sincronizzazione di UDP se scegliessi di percorrere quella strada)
- Dato che hai familiarità con C ++, se trovi un collo di bottiglia sul lato server, puoi tuffarti nel codice della biblioteca e aggiornarlo come richiesto.
Naturalmente, ci sono anche potenziali aspetti negativi. Non ho familiarità con i server di gioco ad alto utilizzo scritti interamente usando node.js. Puoi anche controllare hacknews per flame.js per ulteriori potenziali trucchi con l'uso del nodo.