Performance evaluation of HTTPS library

Ashish Vyas amvyas82 at
Tue Oct 12 14:40:43 CEST 2010

Hi All

I have made a tool for load testing of my company's web-server product. The tool 
is written using Python 3.1.

The tool basically does a HTTP or HTTPS post, gets response and parses the 
response, does the response validation against expected response and maintains 
the stats of average response time.
The tool can open several such parallel connections and send different request 
and get different responses and validate them. This can continue till the time I 
specify or the number of request I specify in the tool per parallel connection.

I am seeing some strange behavior with this tool. 

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.

Another observation that I have made is with 10 parallel HTTPS connection each 
trying 1 transaction per second from 2 different machines (effectively same load 
on server), the response time is again reducing to .17 secs.
However if I run two instances of the tool with 10 parallel HTTPS connection 
each trying 1 transaction per second from from same machine, the response time 
is again shooting up to 1.1 seconds.

So I feel HTTPS is blocking my test if I want to achieve higher TPS 
(transactions per second.) than 10*1=10 TPS. [I can not send the next request 
till I get response to previous one and since response time is more than 1 
second, I can never reach 1 TPS from each connection.] If I use HTTP I can 
easily reach 20 TPS. Also if I use multiple machines, I can reach 20 TPS on 
HTTPS also.

So the question is does anyone here have any idea or some data about performance 
limitation of HTTPS implementation in Python 3.1?

Ashish Vyas

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <>

More information about the Python-list mailing list