I'm currently trying to diagnose issues with a Postgres database that appears IO bound. The CPU is spending most of it's time in iowait but vmstat -d persistently shows 0 current outstanding ops for all mounted volumes. The volumes in question are EBS mounts. Anyone know if the outstanding ops stats for EBS mounts are just broken or have any idea what's going on here?
Asked
Active
Viewed 1,607 times
0
-
Try to find out if some process is killing I/O using [iotop][http://guichaz.free.fr/iotop/]. If it shows nothing, may be some other VM instance sharing the same hardware. – Paulo Scardine Jun 19 '12 at 20:26
-
Nothing there, we are supposed to be paying for a certain level of performance, although it's a bit loose as to exactly how much. – Steve Jun 20 '12 at 00:21
1 Answers
1
There is an excellent chance that you are suffering from noisy neighbors that saturate shared physical infrastructure.
To diagnose this, I would:
- Create an EBS snapshot of your instance and your attached EBS mounts (you do have an EBS backed instance?)
- Fire up a new copy of your server in a different availability zone
- Retest
Note that firing up a new instance in the same availability zone could cause you to end up on the same hardware that is suffering from noisy neighbors.