你的标题和最后问题不是一回事。
只要你的服务器CPU没有达到峰值,iowait就不应当被过多考虑,除非你的很多请求被阻塞在了io上面,导致请求响应速度过慢。
磁盘压力的问题,是另一套方法衡量的。磁盘有两个指标,顺序读写性能和随机读写响应数。前者是读写性能,后者则取决于转速/寻道系统等等。组建和服务器一样的测试机,用iozone压,分别使iops和read/write达到峰值。用iostat看磁盘iops和read/write速度,只要你服务器上的iops和read/write没有接近峰值,磁盘压力就不算满。
在同等的iops和read/write下,你的iowait还取决于文件系统类型。正好这个月要讲文件系统,你可以听听。
另外,如果出现slow query,而且长达数十秒,主要应该考虑的问题是锁。例如oracle使用事务后,在修改行的时候会出现行级锁。如果另一个会话也操作同一行,那么会阻塞直到第一个会话提交或者回滚。