Hi Willy, thank you for your answer.
Do you have an explanation for the fact that ab keep-alive without SSL seems to work correct but as soon as SSL is enabled performance degrades as shown? Best regards Andreas Mock > -----Ursprüngliche Nachricht----- > Von: Willy Tarreau [mailto:[email protected]] > Gesendet: Mittwoch, 10. September 2014 07:32 > An: Andreas Mock > Cc: haproxy > Betreff: Re: [ADDENDUM] Performance issue with SSL and keep alive, weird > result of ab test > > Hi Andreas, > > On Tue, Sep 09, 2014 at 03:05:36PM +0000, Andreas Mock wrote: > > Hi all, > > > > I did the ab test with concurrency = 1 and keep-alive. > > I found the following log entries written by HAProxy. > > > > Sep 9 16:54:20 server haproxy[29183]: YYYYYYYY:60646 > [09/Sep/2014:16:54:20.014] fe_ssl_static~ be_bl/server02 19/0/0/1/29 200 > 93412 - - ---- 10/9/0/1/0 0/0 "GET /jquery.js HTTP/1.0" > > Sep 9 16:54:25 server haproxy[29183]: YYYYYYYY:60649 > [09/Sep/2014:16:54:25.051] fe_ssl_static~ be_bl/server02 20/0/1/0/30 200 > 93412 - - ---- 12/9/0/1/0 0/0 "GET /jquery.js HTTP/1.0" > > Sep 9 16:54:30 server haproxy[29183]: YYYYYYYY:60653 > [09/Sep/2014:16:54:30.089] fe_ssl_static~ be_bl/server02 19/0/0/1/29 200 > 93412 - - ---- 14/9/0/1/0 0/0 "GET /jquery.js HTTP/1.0" > > Sep 9 16:54:35 server haproxy[29183]: YYYYYYYY:60656 > [09/Sep/2014:16:54:35.127] fe_ssl_static~ be_bl/server01 20/0/1/0/31 200 > 93413 - - ---- 11/7/0/1/0 0/0 "GET /jquery.js HTTP/1.0" > > Sep 9 16:54:40 server haproxy[29183]: YYYYYYYY:60660 > [09/Sep/2014:16:54:40.167] fe_ssl_static~ be_bl/server02 18/0/1/0/28 200 > 93412 - - ---- 12/4/0/1/0 0/0 "GET /jquery.js HTTP/1.0" > > Sep 9 16:54:45 server haproxy[29183]: YYYYYYYY:60663 > [09/Sep/2014:16:54:45.205] fe_ssl_static~ be_bl/server01 19/0/0/1/31 200 > 93413 - - ---- 40/5/0/1/0 0/0 "GET /jquery.js HTTP/1.0" > > Sep 9 16:54:50 server haproxy[29183]: YYYYYYYY:60667 > [09/Sep/2014:16:54:50.244] fe_ssl_static~ be_bl/server01 19/0/0/1/29 200 > 93413 - - ---- 29/21/0/1/0 0/0 "GET /jquery.js HTTP/1.0" > > Sep 9 16:54:55 server haproxy[29183]: YYYYYYYY:60670 > [09/Sep/2014:16:54:55.282] fe_ssl_static~ be_bl/server02 20/0/1/0/34 200 > 93412 - - ---- 10/3/0/1/0 0/0 "GET /jquery.js HTTP/1.0" > > Sep 9 16:55:00 server haproxy[29183]: YYYYYYYY:60675 > [09/Sep/2014:16:55:00.324] fe_ssl_static~ be_bl/server02 20/0/0/1/30 200 > 93412 - - ---- 10/5/0/1/0 0/0 "GET /jquery.js HTTP/1.0" > > Sep 9 16:55:05 server haproxy[29183]: YYYYYYYY:60678 > [09/Sep/2014:16:55:05.363] fe_ssl_static~ be_bl/server01 20/0/0/1/30 200 > 93413 - - ---- 21/15/0/1/0 0/0 "GET /jquery.js HTTP/1.0" > > Sep 9 16:55:10 server haproxy[29183]: YYYYYYYY:60682 > [09/Sep/2014:16:55:10.402] fe_ssl_static~ be_bl/server02 21/0/0/0/30 200 > 93412 - - ---- 33/22/0/1/0 0/0 "GET /jquery.js HTTP/1.0" > > Sep 9 16:55:15 server haproxy[29183]: YYYYYYYY:60685 > [09/Sep/2014:16:55:15.442] fe_ssl_static~ be_bl/server02 20/0/1/0/30 200 > 93412 - - ---- 36/2/0/1/0 0/0 "GET /jquery.js HTTP/1.0" > > Sep 9 16:55:20 server haproxy[29183]: YYYYYYYY:60689 > [09/Sep/2014:16:55:20.480] fe_ssl_static~ be_bl/server01 21/0/0/1/31 200 > 93413 - - ---- 4/3/0/1/0 0/0 "GET /jquery.js HTTP/1.0" > > Sep 9 16:55:25 server haproxy[29183]: YYYYYYYY:60692 > [09/Sep/2014:16:55:25.519] fe_ssl_static~ be_bl/server01 20/0/1/0/31 200 > 93413 - - ---- 23/8/0/1/0 0/0 "GET /jquery.js HTTP/1.0" > > > > Now I guess that the way keep-alive is done with the 'ab-tool' and HAProxy > > is somewhat incompatible. It seems that the timeout on HAProxy side > > triggers a new request. > > > > Can someone put light on this "Keep-Alive" behaviour? > > I suspect that the server returns a response incompatible with keep-alive > (eg: no content-length nor transfer-encoding), or that it simply returns > a transfer-encoded response that ab doesn't support. > > From this point, a network capture is needed I guess :-/ > > Just for the record, ab is also the tool I'm using the most for ssl and for > keep-alive tests, so I'm sure that it is supposed to work sometimes :-) > > Willy

