Hacker News new | ask | show | jobs
by caseydurfee 3375 days ago
"800 ms time to first load to 80 ms"

It's a mistake to equivocate TTFB with being 10x faster for the user. It's clickbait. The vast majority of that speedup is not from using static files, but from putting the data on a global CDN (Amazon's Cloudfront in this case - Netlify didn't build their own.)

Put it this way: if you have caching, and a page on your site gets hit 1000 times, 999 times it's going to be as fast for the user no matter what the backend technology used is because it's not going to the backend. So if the first hit takes 800 msec against Wordpress, then the other 999 requests take 80 msec, then using the static file instead of Wordpress only makes it 1% faster, not 10x faster.

For the record, the new Smashing Magazine design is visually complete in about 4.5 seconds: https://www.webpagetest.org/result/170318_MY_PJ5/1/details/#...

The old one is visually complete in about 5.8 seconds: https://www.webpagetest.org/result/170318_T8_Q2D/1/details/#...

So, in both cases, time to first byte is a small fraction of how much time it takes for the page to look done to the user, and by no reasonable criterion should it be considered 10x faster now.

By putting their stuff on a decent CDN instead of whatever the heck "auslieferung.commindo-media-ressourcen.de" is, they made their page 25% faster. That's great! But it's bizarre to see something that is pretty much how Movable Type worked in 2002 as a breakthrough in web performance or technology.

The secret sauce here is using a global CDN, not being buzzword compliant. Setting up Varnish is not particularly hard. Setting up Cloudfront or another CDN is not particularly hard. You could do that and still use Wordpress, if that's what you like.

2 comments

The probability of hitting a slow asset and hitting the 1-percentile goes up as the product of the number of assets. With 30 independent requests, one has an 80 percent chance of hitting the 5% latency percentile. Ouch.

If your sites have lots of requests, you will have to use a CDN to get good TTVC (time to visually complete). Reduce request counts and pull in the 99.9 percentile latency numbers.

800ms is an engineering flaw used to make their statements more :bold: dramatic :bold:. I will probably downvote netlify posts from now on.

We do run our own CDN at Netlify, and that's what allow us to serve the actual HTML pages out of edge caches while handling atomic deploys and instant cache invalidation.

This matters less when you test from New York (where Smashing Magazine hosts their Wordpress version of the site).

Here's how the performance difference looks like for people in Melbourne:

https://tools.pingdom.com/#!/dbYpJA/https://www.smashingmaga... https://tools.pingdom.com/#!/exYLwO/https://next.smashingmag...

The most important part of this difference comes from Netlify delivering the complete initial HTML in less than 100ms compared to more than 2 seconds wait time for the initial HTML load on the Wordpress version.

I'm sure Smashing will see an noticeable uptick in engagement in many parts of the world due to this (it's an effect we've seen before).

(PS. Movable Type's approach was awesome, but the infrastructure around doing static deploys and full static builds was just not up to the task back then, and browsers were way more primitive, so you would end up needing a monolithic dynamic site for just about anything with some form of user interacion)