Are there any studies comparing the performance (RPS, CPU, Memory usage etc) of delivering python web apps (Django in my case) between nginx and Apache?
Can someone help me with facts?
Which combination would you recommend?
There is a lot more to it than just comparing on the basis of those values, especially with how such benchmarks are usually done with a hello world program.
In other words, low level server benchmarks will ultimately tell you nothing because you can only test with your specific application stack, database and backend services to properly understand how your application will perform. This is because it will not generally be the web server which is the bottleneck but your application etc which will be the issue.
Ultimately any Python web hosting solution can be used and made to work effectively.
What you really should be concentrating on is monitoring tools which allow you to continuously monitor your deployed application so you can see how performance changes over time based on changes you have made to your application, database etc.
Without monitoring tools, you can do as much web server benchmarking as you want, but you will still be in the dark as to how your real world application is running.
I'm using Apache to host Python application since I have more experience with Apache than with other web servers (Lighty, nginx, etc).
But when it comes to performance I would focus on caching rather than searching for the perfect web server. Apache is capable of delivering good performance with a well designed Python application. Like any other web server.