"How NOT to Measure Latency" by Gil Tene
Strange Loop Conference9 HN recommenders · recommended in 9 months, 2015–2026
talk · intermediate · evergreen · 2015–2026 on HN
Gil Tene of Azul Systems explains common pitfalls in measuring latency and response time, including why averages mislead and the problem of coordinated omission. He introduces open source tools like HdrHistogram for better measurement and reporting.
The canonical recommendation whenever percentiles, tail latency, load testing or averages come up, described by some as life changing.
Up next
2 mo on HNKubernetes for SysAdmins | Kelsey Hightower at PuppetConf | Talk & Demo
Perforce Puppet
2 HN recommender · 2017–2022
11 mo on HNLight Years Ahead | The 1969 Apollo Guidance Computer
TNMoC
11 HN recommender · 2021–2026
16 mo on HNHow Python was Shaped by leaky Internals, Armin Ronacher, Flask framework
Видео с мероприятий {speach!
15 HN recommender · 2017–2025
11 mo on HNCppCon 2015: Andrei Alexandrescu “std::allocator...”
CppCon
7 HN recommender · 2017–2025
12 mo on HNPreventing the Collapse of Civilization / Jonathan Blow (Thekla, Inc)
DevGAMM
14 HN recommender · 2020–2025
10 mo on HN"Performance Matters" by Emery Berger
Strange Loop Conference
12 HN recommender · 2019–2025
11 mo on HNThe Thirty Million Line Problem
Molly Rocket
11 HN recommender · 2018–2024
10 mo on HNCppCon 2017: Matt Kulukundis “Designing a Fast, Efficient, Cache-friendly Hash Table, Step by Step”
CppCon
9 HN recommender · 2018–2026
10 mo on HNErlang Factory 2014 - That's 'Billion' with a 'B': Scaling to the Next Level at WhatsApp
Erlang Solutions
6 HN recommender · 2014–2022
9 mo on HNHow Crash Bandicoot Hacked The Original Playstation | War Stories | Ars Technica
Ars Technica
13 HN recommender · 2020–2026
10 mo on HNRefterm Lecture Part 1 - Philosophies of Optimization
Molly Rocket
10 HN recommender · 2021–2026
9 mo on HNCppCon 2014: Mike Acton "Data-Oriented Design and C++"
CppCon
9 HN recommender · 2015–2026
12 comments from Hacker News
We use locust at work but I HIGHLY recommend wrk for a very robust yet simple load testing tool. link And of course, this talk by Gil Tene is fantastic if you're interested in load testing stats ▶ this video
This a life changing video by Gil Tene on this topic. Bottom line is because of the number requests to support a single customer "request", the high percentiles are the ones that actually matter. ▶ this video
This topic always leads me to think about this great talk from Gil Tene on how NOT to measure latencies (basically, don't use averages!). ▶ this video I'm also a huge fan of how Dormando showed latency distributions in one of his recent Memcached Extstore posts. The default is 95th percentile but you can change the percentile to what matters to you (i.e. 99th percentile if you ask me!). Scroll down to see what he did and play with it. link
Doesn't this depend on how "tuned" your subcomponents are? If I had a system that's supposedly heavily optimized, I would simply start seeing the worst-case latency on a higher percentile, 99.9th and so forth. Gil Tene has an excellent talk[1] on this. [1] ▶ this video
Tried to link to the specific timestamp in the video, where the p99 lie is discussed. Core takeaway for me was that most users of a page will experience the p99 latency of the system: ▶ this video
who cares about lower percentage tiers in the world of big data? what does the p30 or 50 even matter at large scale? See Gil Tene's talk on how not to measure latency. ▶ this video What matters is what most of your customers will get - p99, p999, p9999, p100.
The "how not to measure latency" talk by Gil Tene is another really good explanation of this topic: ▶ this video
Worth watching is How NOT to Measure Latency: ▶ this video The speaker Gil Tene is also the author of the HdrHistogram which addresses this articles point: link
Gil Tene has an entire talk about this point called "How NOT to measure latency" ( ▶ this video ). In many circumstances, a web service (either server or client) has large numbers of dependencies, so a user only has to hit 95th-percentile latency for one dependency to have their overall latency significantly hurt. In other words, users may encounter the "rare" bad case on a majority of requests. Thus, even higher percentiles should be tightly controlled in order to truly keep a web service's overall latency under control.
That reminds me of this talk[0] by Gil Tene called "How NOT to Measure Latency" at the Strangeloop conference in 2015 (or read this blog post[1] that contains the most important points). [0] ▶ this video [1] link
Performance (Really) Matters by Emery Berger talks a lot about layout. link And the topic of Coordinated Omission, "How NOT to Measure Latency" by Gil Tene ▶ this video Injection slowness into an application to measure the relative impact of that portion of the application has really worked well for me.
I'm sure internally folks are looking at more stuff, but blog post wise, it makes it look like you're intentionally omitting it (see ▶ this video )