Strange resource Content Download pattern

I have been noticing a strange Content Download time across all of the resources on my site. This pattern affects all resources on my server (JavaScript, images, pages etc…), however, it does not affect resources on other servers (Google Analytics JavaScript). To help visualize, here is the Content Download time of a fairly static HTML page on our site:


As you can see the Content Download time displays a very distinct pattern over time. I am wondering what the cause for this pattern could be. We have not been toggling anything on our server on and off, and this pattern is visible across all static and dynamic assets so this is not something database or back-end code related.

Is there anything WPT-related that could explain this pattern?

Not that comes to mind. Hard to say without a bunch more specifics:

1 - Is the file served from a CDN or directly from the server?
2 - Are there multiple servers or just one?
3 - Is it HTTP or HTTPS?
4 - Do you see varying times on the server side (if you’re logging it)?

The likely causes that jump out to mind are something around an extra round trip or longer distance for requests (maybe servers with different initial CWND settings).

Directly from the server.

Multiple via a load balancer.


That would be a good thing too look at. I’ll have to figure out a good way to parse through that mountain of data to see if I can find anything.

Thank you for thought’s, I’ll present them to my team as a possible culprit.

I think we got it thanks to you mentioning “CWND” :slight_smile:

So every time we run Linux kernel updates we would also run the following command:

/sbin/ip route change default via dev eth0 initcwnd 10

The thinking was that after we run kernel updates we would need to disable TCP slow start again. However, as it turns out TCP slow start must be disabled again after every server reboot. So every time we would reboot the server TCP slow start would get enabled again and our download times would go up.