This tweet by Tobias Baldauf pointing out the change in time to first byte from the HTTP Archive Data peaked my interest. In this thread would like to open up the data to everyone and put a few ideas on why this decline for “Time to First Byte”. (Here is a side-bar post on the great data made available via HTTP Archive. Learn More About HTTP Archive)
— Tobias Baldauf (@tbaldauf) October 18, 2015
Heading over to bigqueri.es to see if others had worked on this, found the post from Paddy Ganti analyzing this earlier this year as well. http://bigqueri.es/t/increase-of-ttfb-in-2015-relative-to-previous-years/588. Starting with this query we built out the query with ranking.
SELECT label, NTH(50, quantiles(TTFB)) TTFB50 FROM ( SELECT label,TTFB FROM httparchive:runs.2014_01_01_pages, httparchive:runs.2014_01_15_pages, httparchive:runs.2014_02_01_pages, httparchive:runs.2014_02_15_pages, httparchive:runs.2014_03_01_pages, httparchive:runs.2014_03_15_pages, httparchive:runs.2014_04_01_pages, httparchive:runs.2014_04_15_pages, httparchive:runs.2014_05_01_pages, httparchive:runs.2014_05_15_pages, httparchive:runs.2014_06_01_pages, httparchive:runs.2014_06_15_pages, httparchive:runs.2014_07_01_pages, httparchive:runs.2014_07_15_pages, httparchive:runs.2014_08_01_pages, httparchive:runs.2014_08_15_pages, httparchive:runs.2014_09_01_pages, httparchive:runs.2014_09_15_pages, httparchive:runs.2014_10_01_pages, httparchive:runs.2014_10_15_pages, httparchive:runs.2014_11_01_pages, httparchive:runs.2014_11_15_pages, httparchive:runs.2014_12_01_pages, httparchive:runs.2014_12_15_pages, httparchive:runs.2015_01_01_pages, httparchive:runs.2015_01_15_pages, httparchive:runs.2015_02_01_pages, httparchive:runs.2015_02_15_pages, httparchive:runs.2015_03_01_pages, httparchive:runs.2015_03_15_pages, httparchive:runs.2015_04_01_pages, httparchive:runs.2015_04_15_pages, httparchive:runs.2015_05_01_pages, httparchive:runs.2015_05_15_pages, httparchive:runs.2015_06_01_pages, httparchive:runs.2015_06_15_pages, httparchive:runs.2015_07_01_pages, httparchive:runs.2015_07_15_pages, httparchive:runs.2015_08_01_pages, httparchive:runs.2015_08_15_pages, httparchive:runs.2015_09_01_pages, httparchive:runs.2015_09_15_pages where rank <= 10 ) GROUP BY label, order by label;
Then accumulated the data into a Google Sheet, made the sheet public – Link to Sheet with data.
Looking into the data
Data shows the results from the 1st and 15th reports and we added in a top-10 grouping as well. Not sure if Tobias used 1st of month or averaged the month data as he had a bit smoother of a graph, but we both show the same results. TTFB is increasing. (Special thanks to Ilya Grigorik for cleaning up some of the data). Note the data below is for the 50% quantile for each Top XX bucket. With even the top 10 sites increasing their TTFB something does not seem right So we drill down into the top 10 pulling apart the individual TTFB for these sites. To help distill this further I took the delta as percentage from the measurement made on 1/1/2014. With the plotly graph we can interact with the data and begin to isolate the sites that have changed during this time.
Taking the data above and separating a few sites it is a bit easier to see the sites with more pronounced changing TTFB
- Left Side : Baidu, Google, QQ, Amazon
- Right Side : Twitter, Facebook, YouTube, Wikipedia
- Google on the left does look like there is an increase
- Yahoo on the right is increasing but jagged because 1/1/2014 was a lower than normal number
- Wikipedia shows first issue in Dec/Jan then again Jun/July
- Facebook and Twitter summer of 2014 shows the change in values to start increasing
So why this change in time to first byte? The following are just theories, do not have a smoking gun.
- The testing harness at HTTP Archive could have been impacted. In the Top 10,100,1000,10000 we see a change starting with December numbers. When we drill down into the top 10 we see that it does not impact every site evenly. This does not rule out the test harness, just would required deeper insight to continue that thought process.
- SSL Updates from POODLE and other attacks causing people to update their SSL implementations in software and networking equipment.
- Sep 2014 Exploiting SSL 3.0 Fallback
- Dec 2014 Poodle issue with TLS
- We see Twitter and Facebook impacted closer to that earlier date.
- Don’t know the history of when these sites have update their internal packages
- Badiu is rated C and is still vulnerable to POODLE : https://www.ssllabs.com/ssltest/analyze.html?d=baidu.com&s=184.108.40.206
- Twitter and Wikipedia are rated A+
- Baidu and QQ do not default to HTTPs, they still serve HTTP requests
- The most dramatic curve change Wikipedia times with their public announcement defaulting to HTTPS
- Wikipedia has the only A+ from ssl labs
Anyone else with a working theory and a method to test that theory?