关于SQLIO.exe参数的疑问 RRS feed

  • 问题

  •    在使用SQLIO.exe测试磁盘性能时,不知道outstanding I/O这个参数表示啥意思,是指IO密集的操作次数吗?  还有就是,测试的结果里,对于Latency,是该看Min_Latency(ms),Avg_Latency(ms)还是Max_Latency(ms)呢?
    2010年1月11日 4:53


  • When you use the -o option of sqlio command, it will show about the number of outstanding I/O requests per thread. When attempting to determine the capacity of a given volume or set of volumes, start with a reasonable number for this and increase until disk saturation is reached (that is, latency starts to increase without an additional increase in throughput or IOPs). Common values for this are 8, 16, 32, 64, and 128. Keep in mind that this setting is the number of outstanding I/Os per thread. When you no longer see increased throughput when increasing the number of outstanding I/Os you probably have saturated the disk, the bandwidth of the channel, or do not have the HBA queue depth setting high enough.

    And performance counter "Average Disk Queue Length" in the System Monitor shows the Average number of outstanding I/O requests. The general rule of thumb is <=2 per spindle but this may be hard to measure due to storage virtualization, differences in RAID level between configurations, and so on. Focus on higher than average disk queue length in combination with higher than average disk latencies. This combination could indicate that the storage array cache is being over utilized or spindle sharing with other applications is impacting performance.

    About the 3 latency counters, you could use all of them to determine the root cause.

    SQLIOSim Sources


    SQL Server Storage Engine blog:

    PSS SQL Server Engineers:

    Hope this helps.

    Mark as Answer if it helps. This posting is provided "AS IS" with no warranties, confers no rights.

    2010年1月11日 7:40