W
wkhedr
We have a Perl program that has to do thousands of secure http post
requests to a web server as efficient as we could.
The web server sends back a big XML structure in every request.
We used Curl because it allowed us to deal with secured requests.
Curl by default uses http 1.1.
When we ask Curl to use http 1.0, we get average response time of 40
millisecond during our stress tests.
The response time is good but the problem is it's not releasing the
CPU's while waiting for the response. It's supposed to be like a disk
I/O where it should not be using the CPU. So the CPU utilization goes
up to 99% with multithreads of testing.
When we run the tests using http 1.1, the response time was 2 seconds
Using http 1.1 and asking Curl to disable "Expect: 100-continue" by
using header "Expect:",
we were able to reach response time of 120 milliseconds and the CPU
usage was cut by almost 90%.
The question is: how can we get the best of the two settings: have the
same low CPU usage as http 1.1 and reduce the response time from 120 ms
to 40 ms as http 1.0?
Thanks
requests to a web server as efficient as we could.
The web server sends back a big XML structure in every request.
We used Curl because it allowed us to deal with secured requests.
Curl by default uses http 1.1.
When we ask Curl to use http 1.0, we get average response time of 40
millisecond during our stress tests.
The response time is good but the problem is it's not releasing the
CPU's while waiting for the response. It's supposed to be like a disk
I/O where it should not be using the CPU. So the CPU utilization goes
up to 99% with multithreads of testing.
When we run the tests using http 1.1, the response time was 2 seconds
Using http 1.1 and asking Curl to disable "Expect: 100-continue" by
using header "Expect:",
we were able to reach response time of 120 milliseconds and the CPU
usage was cut by almost 90%.
The question is: how can we get the best of the two settings: have the
same low CPU usage as http 1.1 and reduce the response time from 120 ms
to 40 ms as http 1.0?
Thanks