A queue’s performance depends on several factors including:
This suggests an important rule of thumb: for decent quality of performance, keep utilization below 75%.
This means provisioning, not for typical loads but extreme ones. Without overcapacity, queues will form and latency will increase.
The lesson: whatever its source, variance is the enemy of performance.
The question then is what to do about it. It’s basically a trade-off between latency and error rate.
If we don’t return errors, or find an alternative way to shed the excess load, then latency will inevitably increase.
To sum up: Variance is the enemy of performance and the source of much of the latency we encounter when using software.
To keep latency to a minimum:
It follows that developers should aim to design and implement software that delivers not just high average performance, but consistent performance, i,e, with low variance.
Even an incremental reduction in variance can improve the user experience more than an equivalent increase in raw average speed.
The mean isn’t meaningless. It’s just deceptive.
To transform user experience, the place to put your effort isn’t in the middle of the curve but on the ends.
It’s the rare events — the outliers — that tell you what you need to know.
Distributed cache system design
System Design Interview – Distributed Cache
阅读笔记：Scaling Memcache at Facebook
Paper阅读：Scaling Memcache at Facebook
Scaling Memcache at Facebook
Consistent Hashing: Algorithmic Tradeoffs
Understanding Redis in System Design
复杂度应对之道 – COLA应用架构
Flink学习–Flink on Yarn
When you need file storage for your project, website, or application, Web3.Storage is here for you.
天涯 kkndme 神贴聊房价
Java Performance Tuning