Hi all,

I am having the following problem with SSL + large I/O. Details are:

Distribution: Debian 7, Kernel: 3.19.6, ab version: 2.3, haproxy: 1.5.12,
nginx: 1.2.1

$ ab -k -n 100000 -c 100 http://<IP>:80/128K
Works correctly.

$ ab -k -n 10000 -c 10 https://<IP>:443/4K
Works correctly.

$ ab -k -n 10000 -c 10 https://<IP>:443/128K
No output, finally the only message is:
apr_poll: The timeout specified has expired (70007)

$ ab -k -n 10000 -c 10 https://<IP>:443/16K
No output, finally the only message is:
apr_poll: The timeout specified has expired (70007)

Configuration file (SSL parts only):
defaults:
    nbproc=8
    ssl-default-bind-ciphers
kEECDH+aRSA+AES:kRSA+AES:+AES256:RC4-SHA:!kEDH:!LOW:!EXP:!MD5:!aNULL:!eNULL
        ssl-default-bind-options no-sslv3

frontend www-https
        bind *:443 ssl crt /etc/ssl/private/haproxy.pem
        reqadd X-Forwarded-Proto:\ https
        default_backend www-backend

$ haproxy -vv | egrep -i "ssl|tls"
  OPTIONS = USE_ZLIB=1 USE_OPENSSL=1 USE_PCRE=1 USE_TFO=1
Built with OpenSSL version : OpenSSL 1.0.1k 8 Jan 2015
Running on OpenSSL version : OpenSSL 1.0.1k 8 Jan 2015
OpenSSL library supports TLS extensions : yes
OpenSSL library supports SNI : yes
OpenSSL library supports prefer-server-ciphers : yes

I found that setting nbproc=1 works for SSL, but setting it to >1 (2, 4, 8)
hangs
as above. With nbproc=2, I make slightly more progress than with 8 (system
has 48 cores though):

$ ab -k -n 10000 -c 10 https://<IP>:443/128K
apr_poll: The timeout specified has expired (70007)
Total of 200 requests completed

I tried adding the following to frontend and backend respectively:
           To the frontend -> bind-process 1,2
           To the backend -> bind-process 3,4,5,6,7,8

How can I fix this issue?

Thanks,
- Krishna Kumar

Reply via email to