Hello all:

we are rolling out a new system and are testing the SSL performance with some 
strange results.  This is all being performed on a cloud hypervisor instance 
with the following:

HA-Proxy version 1.5.11 2015/01/31
8GM RAM / 8 CPUs

when we run 'ab' with nbproc set to '1' we see the following:

ab -n 40000 -c 2000 https://localhost/status
This is ApacheBench, Version 2.3 <$Revision: 1528965 $>
Copyright 1996 Adam Twiss, Zeus Technology Ltd, http://www.zeustech.net/
Licensed to The Apache Software Foundation, http://www.apache.org/

Benchmarking localhost (be patient)
Completed 4000 requests
Completed 8000 requests
Completed 12000 requests
Completed 16000 requests
Completed 20000 requests
Completed 24000 requests
Completed 28000 requests
Completed 32000 requests
Completed 36000 requests
Completed 40000 requests
Finished 40000 requests


Server Software:        nginx
Server Hostname:        localhost
Server Port:            443
SSL/TLS Protocol:       TLSv1.2,ECDHE-RSA-AES256-GCM-SHA384,2048,256

Document Path:          /status
Document Length:        16 bytes

Concurrency Level:      2000
Time taken for tests:   101.824 seconds
Complete requests:      40000
Failed requests:        0
Total transferred:      17400000 bytes
HTML transferred:       640000 bytes
Requests per second:    392.83 [#/sec] (mean)
Time per request:       5091.206 [ms] (mean)
Time per request:       2.546 [ms] (mean, across all concurrent requests)
Transfer rate:          166.88 [Kbytes/sec] received

Now the documentation does say the one should not need to raise nbproc as it 
can make debugging difficult, but to see what would happen we gave it a try:

ab -n 40000 -c 2000 https://localhost/
This is ApacheBench, Version 2.3 <$Revision: 1528965 $>
Copyright 1996 Adam Twiss, Zeus Technology Ltd, http://www.zeustech.net/
Licensed to The Apache Software Foundation, http://www.apache.org/

Benchmarking localhost (be patient)
Completed 4000 requests
Completed 8000 requests
Completed 12000 requests
Completed 16000 requests
Completed 20000 requests
Completed 24000 requests
Completed 28000 requests
Completed 32000 requests
Completed 36000 requests
Completed 40000 requests
Finished 40000 requests


Server Software:        nginx
Server Hostname:        localhost
Server Port:            443
SSL/TLS Protocol:       TLSv1.2,ECDHE-RSA-AES256-GCM-SHA384,2048,256

Document Path:          /
Document Length:        0 bytes

Concurrency Level:      2000
Time taken for tests:   45.011 seconds
Complete requests:      40000
Failed requests:        0
Total transferred:      8880000 bytes
HTML transferred:       0 bytes
Requests per second:    888.67 [#/sec] (mean)
Time per request:       2250.558 [ms] (mean)
Time per request:       1.125 [ms] (mean, across all concurrent requests)
Transfer rate:          192.66 [Kbytes/sec] received

so that is certainly better, but now look what happens if we use purely HTTP:

ab -n 40000 -c 2000 http://localhost/status
This is ApacheBench, Version 2.3 <$Revision: 1528965 $>
Copyright 1996 Adam Twiss, Zeus Technology Ltd, http://www.zeustech.net/
Licensed to The Apache Software Foundation, http://www.apache.org/

Benchmarking localhost (be patient)
Completed 4000 requests
Completed 8000 requests
Completed 12000 requests
Completed 16000 requests
Completed 20000 requests
Completed 24000 requests
Completed 28000 requests
Completed 32000 requests
Completed 36000 requests
Completed 40000 requests
Finished 40000 requests


Server Software:        nginx
Server Hostname:        localhost
Server Port:            80

Document Path:          /status
Document Length:        16 bytes

Concurrency Level:      2000
Time taken for tests:   7.152 seconds
Complete requests:      40000
Failed requests:        0
Total transferred:      17400000 bytes
HTML transferred:       640000 bytes
Requests per second:    5592.99 [#/sec] (mean)
Time per request:       357.591 [ms] (mean)
Time per request:       0.179 [ms] (mean, across all concurrent requests)
Transfer rate:          2375.93 [Kbytes/sec] received

Have tried adding the option prefer-last-server but that did not make a great 
deal of difference.  Any thoughts please as to what could be wrong ?

Thanks, Phil


(null)

Reply via email to