SSH into the server, run `vmstat 10` (to get an update every 10 seconds), run your benchmark in a different SSH session, then watch vmstat's columns while the benchmark is running.
The last few columns show CPU usage: user, system, idle, wait, stolen.
If User is near 100 all the time, the bottleneck is CPU. If Wait is near 100, then the bottleneck is disk I/O. I would expect System, Idle and Stolen to be near 0, and it would be a very interesting data point if that's not the case. (System is also CPU usage, except in the kernel -- but you're doing compression in userspace, so shouldn't be happening. Idle is idle, which sometimes means blocked waiting on the network -- but you're not doing network I/O here,, right? Wait, I got confused -- you using network-mounted EBS volumes? Anyway. Stolen is CPU time used by the hypervisor and other virtual machines on the same physical host.)
Comment
SSH into the server, run `vmstat 10` (to get an update every 10 seconds), run your benchmark in a different SSH session, then watch vmstat's columns while the benchmark is running.
The last few columns show CPU usage: user, system, idle, wait, stolen.
If User is near 100 all the time, the bottleneck is CPU. If Wait is near 100, then the bottleneck is disk I/O. I would expect System, Idle and Stolen to be near 0, and it would be a very interesting data point if that's not the case. (System is also CPU usage, except in the kernel -- but you're doing compression in userspace, so shouldn't be happening. Idle is idle, which sometimes means blocked waiting on the network -- but you're not doing network I/O here,, right? Wait, I got confused -- you using network-mounted EBS volumes? Anyway. Stolen is CPU time used by the hypervisor and other virtual machines on the same physical host.)
Replies
Will try next time I'm at work.