Date: April 19, 2006
First posting: February 10, 2004
In the past, a high wait I/O was a good predictor of a bottleneck. However, today it's a bit more complicated. High wait I/O may not imply an I/O bottleneck. You'll have to consider other factors, which I'll list below.
The reason high wait I/O may not be a good predictor is because CPU performance has significantly outpaced disk performance. Here's a situation I ran into that illustrates the point. A customer replaced an older server with a new pSeries server. The new server had 6x the CPU performance. They used the same SAN for disk storage. After the upgrade, wait I/O increased from 33% to 75% during batch jobs. The customer was concerned there was a problem. The following table shows what happened.
|Metric||Old Server||New Server|
|Relative CPU Performance||1||6|
|Batch Time = CPU + I/O:
Total Time (minutes)
The server upgrade improved CPU performance, but not I/O performance. The faster CPU's were able to do their job faster, hence they spent a higher percentage of their time waiting for disk I/O. Since batch time decreased by half and they were well within their SLA, the high wait I/O wasn't a real problem.
So how do you know if there is a serious I/O bottleneck when wait I/O is high? Here's my checklist:
If you really have a bottleneck, consider the following:
April 19, 2006