Performance evaluation of HTTPS library
stefan_ml at behnel.de
Wed Oct 13 11:36:34 CEST 2010
Ashish Vyas, 12.10.2010 14:40:
> When I send request using HTTP, I am able to reach 1 transaction (request sent,
> response rcvd and validated.) per second from 20 parallel connections easily.
> Average response time shown is about 0.15 seconds.
> However, when I send request using HTTPS, I am seeing that the response time
> shown by tool goes to 1.1 seconds for same 20 parallel connection each trying 1
> transaction per second.
You shouldn't overestimate the performance requirements for SSL/TLS support
inside of the server application itself, simply because it's not used that
much in real world deployments.
It's actually very common to use a proxy to handle HTTPS traffic, and to
forward the requests as plain HTTP to the "real" server. Separating the two
gives you more freedom in your deployment (e.g. you can deploy the HTTPS
proxy locally or on an entirely different machine at a suitable place in
the network architecture), and makes your server generally more scalable.
You can additionally use the HTTPS proxy machine to distribute the normal
HTTP load over multiple server instances. There's even dedicated networking
hardware for SSL/TLS proxying if you need it.
More information about the Python-list