| ▲ | swiftcoder 6 days ago |
| I remember being stuck in a discussion with management one time, that went something like this:
Manager: CPU utilisation is 100% under load! We have to migrate to bigger instances.
Me: but is the CPU actually doing useful work? (chat, it was not. busy waiting is CPU utilisation too) |
|
| ▲ | kristianp 5 days ago | parent [-] |
| How do you measure the amount of busy waiting? |
| |
| ▲ | swiftcoder 5 days ago | parent [-] | | I don't think there is a good general tool for this. In this specific case, I went spelunking for all the points where we had thread contention over resources, and discovered that for several resources quite a lot of CPU cycles were being expended to no use. The goal is really to eliminate the underlying resource contention - we added per-thread caches I various places, swapped out the logging system, and were able to ~double the system throughput during times when top showed the system to be "fully loaded" |
|