-
Notifications
You must be signed in to change notification settings - Fork 17
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
scalability #36
Comments
I have no hard numbers, but I boldly promise: "better than channels_redis". At scale, you want to maximize: A. Single-node message throughput -- number of messages routed through a single Channels client When it comes to single-node throughput, there should be no contest: I haven't measured how big a difference that makes. I'd expect But that 10x speedup is just single-node performance. The real scaling problem in
By my count,
This is my theorizing, anyway. I haven't tested. I haven't tested, because why would anybody need to test? Redis is not a message broker. It's incorrect on a single node; why would anybody want to scale something faulty? We at Workbench left Redis when we discovered that bug in step 1: if you don't I get riled up about this. Projects like |
thanks a lot for your information! according to my business model, and many more events, like when users leave a box, or join it. |
have you tested against rabbitmq to see how many concurrent connections one queue can handle? |
RabbitMQ is designed to handle huge loads -- tens of thousands of messages per second per CPU, easy. I have not benchmarked. In Workbench, with hundreds of concurrent connections, If you're serious about handling 100k+ concurrent connections, abandon Python now. I cannot imagine a more expensive language for handling 100k concurrent connections. |
@adamhooper I've settled with elixir for handling concurrent connections after learning it, thanks for your reply! |
Probably a good idea. For posterity: I suggest -- based on intuition, not evidence! -- stay away from Django if you want to serve 500-1,000 active connections per web server. Node, Go and Elixir should make it easier to code efficient software and harder to introduce monstrous bottlenecks. |
How much can this project scale?
I am curious because the redis channel layer provided by django is really slow when it comes to group sending, and I am looking for alternatives.
django/channels_redis#83
thanks a lot!
The text was updated successfully, but these errors were encountered: