OUCH! No persistent connections + SSL

Every now and then I like to look through the test history to see what kind of opportunities for improvement there are. This morning I saw what looked like the most painful example of why persistent connections should be used: [url=http://www.webpagetest.org/result/090417_1CQ5/]http://www.webpagetest.org/result/090417_1CQ5/[/url]

74 https requests all without persistent connections or expires headers (and in this case hosted in Japan and tested from the US). Now granted, I doubt you’ll be ordering pizza from a Pizza Hut if you’re not somewhat close to their location but even just negotiating all of those extra SSL connections has to hurt.

As it is, it took 34 seconds to load over FIOS for the first view and only came down to 24 seconds for the repeat view (which was only 37KB of data!!!).

Hopefully it’s just a testing harness since it’s not on the pizzahut domain and they get it fixed before the deployment but OUCH!

We have been checking our site using your tool and have found it very useful! We do have a question regarding the results related to Keep Alive. We are running Apache with a Proxy to Lighttpd for static files. Both Apache and Lighttpd have Keep Alive turned on we see Keep-Alive in the response headers. Below are the Response Headers for two different files. One being served by apache and one being served by lighttpd. The tool consistently shows that Keep Alive is not working for any of the files we are serving. I was hoping you could shed some light on what we might be doing wrong or any changes we can make to our webserver configuration files to make sure that Keep Alive is being utilized effectively.
Here is a link to a recent test we have done. Thanks in advance for any information you can provide!

http://www.webpagetest.org/result/100223_93bac35f5205e37d100cb995931cbb6a/

Date Tue, 23 Feb 2010 22:32:11 GMT
Server lighttpd/1.4.23
Expires Fri, 26 Mar 2010 22:32:11 GMT
Cache-Control max-age=2678400
Vary Accept-Encoding
Content-Encoding gzip
Last-Modified Tue, 23 Feb 2010 18:44:21 GMT
Content-Type text/css
Content-Length 1979
Keep-Alive timeout=10, max=1000
Connection Keep-Alive

Date Tue, 23 Feb 2010 22:32:11 GMT
Server Apache/2.2.14 (Fedora)
Last-Modified Wed, 17 Feb 2010 19:56:54 GMT
Accept-Ranges bytes
Cache-Control max-age=2592000
Expires Thu, 25 Mar 2010 22:32:11 GMT
Vary Accept-Encoding
Content-Encoding gzip
Content-Length 21668
Keep-Alive timeout=10, max=1000
Connection Keep-Alive
Content-Type text/css

Where did you get those response headers from? The test you linked to looks like all of the connections are forced closed:

Response Headers:

HTTP/1.1 200 OK
Date: Tue, 23 Feb 2010 19:47:19 GMT
Server: Apache/2.2.14 (Fedora)
X-Powered-By: PHP/5.2.12
Set-Cookie: PHPSESSID=944ot17f76sbhi5vdd3qp05d76; path=/
Expires: Thu, 19 Nov 1981 08:52:00 GMT
Cache-Control: no-store, no-cache, must-revalidate, post-check=0, pre-check=0
Pragma: no-cache
Vary: Accept-Encoding
Content-Encoding: gzip
Content-Length: 6265
Connection: close
Content-Type: text/html; charset=iso-8859-1

Response Headers:

HTTP/1.1 200 OK
Date: Tue, 23 Feb 2010 19:47:18 GMT
Server: lighttpd/1.4.23
Expires: Fri, 26 Mar 2010 19:47:18 GMT
Cache-Control: max-age=2678400
Vary: Accept-Encoding
Content-Encoding: gzip
Last-Modified: Tue, 23 Feb 2010 18:44:21 GMT
Content-Type: text/css
Content-Length: 1979
Connection: close

Here is a link to the headers: http://www.webpagetest.org/result/100223_93bac35f5205e37d100cb995931cbb6a/1/details/#request1

Do you have a proxy or anything sitting in front of it that could be closing the connection or a browser-specific rule controlling it (turning off persistent connections for IE8)?

Thanks,

-Pat

Thanks for the response. After doing some checking the Apache conf file had the following line
SetEnvIf User-Agent “.MSIE.” nokeepalive ssl-unclean-shutdown

My guess it was there due to older version of IE related to SSL certificates.
Once I removed that line and re-ran the test the results show that it is working.
Thanks so much for the suggestion and creating such a useful tool!