系统变慢的原因有很多,有时是因为SQL,有时是因为硬件,有时又可能是系统,就如前几篇文章介绍的,AWR是一个查找问题原因的重要手段,同时OSWatcher等工具也是排查系统问题必不可少的方法。当然系统变慢,也需要知道他的主要现象,是整体慢,还是局部慢,是一直慢,还是瞬时慢。
How to Tell if the I/O of the Database is Slow (文档 ID 1275596.1)
如果IO变慢,可能成为性能问题的一个潜在原因。当然也需要从关系型数据库角度分析如何采集支持的论据。这篇文章的目标不是为了提供理解为什么IO慢的诊断方法,也不是提供为什么IO变慢的详细原因。
如果性能变慢的潜在原因是由于操作系统级别的IO变慢的结果,那么负责IO子系统(硬件和软件)的开发商需要参与进来诊断和修复这个问题。
解决方法:
IO的有效性可以通过如下两种方法测量:
1. 响应时间
以微妙测量的完成一项操作的时间。Oracle负责采集统计。
2. 吞吐量
以每个单位时间内完成的操作数量测量。通过OS工具进行计算,例如Unix的iostat。
响应时间:
硬件不必对于每个IO请求都有相同的反映。总会有可能出现高峰和低谷。因此使用平均值是一种测量响应时间的通用方法。
注意:为了减缓这种高峰/低谷的异常场景带来的问题,样例数据量需要比较大。样例数据量应该至少是每小时1000次操作,目的就是为了提供给决测更可信和实用的依据。
(未完待续)