Weird waterfall with HTTP2

I have enabled in Netscaler the HTTP2 protocol.

I was expecting to get a great improvement in performance, but I found the following waterfalls that I cannot understand:

http://www.webpagetest.org/result/160506_XH_NFW/

anybody could help me or give me any tip to know what is wrong?

Thanks

Suri

Suri,

Did you run any tests closer to where your server is located?

Is it located in the Netherlands? If so, the test you ran is from the US, which would explain the high response times.

Other than that, the WPT grades seem to be good. So I think running a test closer to where the server is may help with the numbers.

Also, I see you have a lot of JS files. With HTTP/2, you may want to look at packaging them. Do some testing to see if that helps with performance.

Hi beyondstop,

Thanks for your reply, honestly, I have only used the public instance of wpt to share my results. I am using a private one closer home. So the problem is not related with the location. Of course I will get better numbers, but in my private instance I have as well times of 30-40 seconds. In the public instance I can expect 8 seconds, not 60.
I have executed again the test minifying and combining javascripts/stylesheets as you said (I forgot do it before) and the results are still weird.

Exist any explanation for it?

http://www.webpagetest.org/result/160509_9N_BQ7/

Thanks

Hi Suri,

I’m not sure I understand. If you’re getting 30-40 seconds in the private instance, why expect 8 seconds in the public instance? I’m not clear on that.

I took a look at your WPT results, and I see a lot of issues with time-to-first-byte. Sometimes, that can indicate a server issue, but not always.

So I took a look at the packet trace you included. I see a lot of retransmissions between the WPT machine and your server. Somewhere from your server to WPT, data is being lost. The WPT machine keeps requesting for data to be resent.

From about 2 seconds to 53 seconds or so, there are a lot of retransmissions. About 14% of the data your server sends has to be retransmitted. That’s high. You want zero ideally, but if there’s going to be any, you would like something much closer to 1%, depending on the type of website.

At any rate, without a packet trace from your server, there’s no way to confirm where the data may be getting lost, but suffice to say that data loss is occurring somewhere.

Is there a firewall or some sort of device in front of your server that is processing packets? I can that the TCP MSS your server specifies = 1360 bytes, instead of the full 1460 bytes. This suggests to me that either your server has some software installed that is limiting the MSS or there’s an external device that is doing that.

If it’s external, you may want to look at this device to verify it is not dropping any data.

You may also want to run the test from other locations, if you haven’t already, to see if you get the same results, and rule out any issues with the WPT location.

Hope that helps.

Hi beyondstop,

I have seen in tcpdump that we are resend a lot of packets as you said. Now I am investigating it!
Many Thanks!