Reputation: 81
I have an application which handles websocket and http requests for some basic operations and consuming push data over sockets. Nothing is very computation intensive. Some file tailing, occasional file read / write is all that it has to do with heavy processing currently. I want to deploy this to Linux. I have no static files to handle
Can a tornado application handle 50-100 websocket and http clients without needing ngnix ? I don't want to use another server for this. How many clients can it handle on its own ?
Everywhere I search I get ngnix, and I don't want to involve it
Upvotes: 0
Views: 245
Reputation: 21734
Yes, Tornado can easily handle 50-100 websocket and http clients without needing Ngnix. You only need Nginx as a reverse proxy if you're running multiple Tornado processes on separate ports.
If you're running a single process or multiple process on a single port, you don't need Nginx.
I've seen benchmarks which show that with a single Tornado process, you can serve around 5,000 connections per second if your response message size is around 100 KB; and over 20,000 requests per second for 1 KB response size. But this also depends on your CPU speed.
I think it's safe to assume with an average CPU and around 1 GB RAM, you can easily serve around a 2,000-3,000 requests per second.
Upvotes: 2