Re:Scaling Secret: Real-Time Chat
by nostrademons on Wednesday May 13, 2015 @11:53PM
(#9543361)
1ms is high for a request, assuming that you touch only RAM in a pattern with high locality (which you can usually manage when routing chat messages). Take a look at the TechEmpower benchmarks: most of the Java and C++ frameworks can manage 1M req/sec for JSON serialization:
https://www.techempower.com/benchmarks/#section=data-r10&hw=...
Re:Scaling Secret: Real-Time Chat
by daurnimator on Thursday May 14, 2015 @12:21AM
(#9543426)
> Aside: 50000 concurrent requests on a single thread, huh? :) Unless I'm missing something, that's 50 seconds assuming a request takes only 1ms to process. Sounds like magic.
1ms to route a chat message is plenty.
e.g. on a single AWS m1.small prosody[1] can process 40,000 stanzas per second.
Re:Scaling Secret: Real-Time Chat
by davidbyttow on Thursday May 14, 2015 @04:18AM
(#9543966)
It's not just routing. It hS to read modify write from DB first
Re:Scaling Secret: Real-Time Chat
by davidbyttow on Wednesday May 13, 2015 @11:15PM
(#9543267)
Clarified the 1MM number in the post.
We also used Pusher for global in-app notifications, which had to scale past 1,000,000 concurrent connections.
Aside: 50000 concurrent requests on a single thread, huh? :) Unless I'm missing something, that's 50 seconds assuming a request takes only 1ms to process. Sounds like magic.