3 ms·
This is an oversimplification, though I don't doubt that there is a lot of infrastucture crud especially in large companies, which is a problem that /should/ be
by geogriffin 11y ago
This is an oversimplification, though I don't doubt that there is a lot of infrastucture crud especially in large companies, which is a problem that /should/ be fixed. But to measure utilization without any context is naive:
- Most applications out there are probably not cpu-bound, so measuring cpu utilization is worthless. Should categorize services as either cpu, disk, network, or memory bound.
- Even world-wide demand will vary a lot throughout daily and weekly cycles, so over-provisioning is necessary for system stability
- Need over-provisioning to handle peaks due to soccer games, earthquakes, Christmas, etc.
All that said, I work at a company that (I get the impression maybe this is unusual these days) has historically pushed the limits of per-machine utilization through:
- service isolation
- minimal (pair-wise) redundancy (which is cheating, I know)
- simple service architecture
- leveraging mobile client processing power wherever possible
among other techniques, while using the latest and greatest bare metal boxes.. and we'd never hit anywhere near 100% cpu utilization. The most we've ever driven even a a cpu-bound app (the front end) is around 60%, which is dangerous, and we've suffered a couple outages as a result.