Oracle
数据库从
9i
开始增加了收集操作系统统计信息的功能。通过收集到的统计信息判
断操作系统的
CPU
、
I/O
的处理能力。这为优化器在选择执行计划提供了额外的判断依据
通过使用系统统计信息,允许优化器更加准确地判断、评价
CPU
和
I/O
代价,选择更好的
查询计划。根据度量
I/O
子系统的方法不同,可将系统统计信息分为两类:非工作量统计
信息(
noworkload statistics
);工作量统计信息(
workload statistics
)。这两者的
区别是,前者是使用人工基准测试,后者使用应用程序基准测试。这里解释一下,所谓人
工基准测试是指并非实际运行的程序产生的工作量。人工基准测试的主要目的是通过执行
近似的操作,以模拟应用程序的负载。虽然能够以轻易可控的方式运行,但通常情况下无
法产生像应用程序基准测试那么好的性能数据。所谓应用程序基准测试是指基于实际应用
程序正常操作产生的工作量进行的。通常可以很好地提供实际运行系统的性能信息。关于
收集方法,后面会有专门说明。下面对系统统计信息项加以说明。
指标项说明非工作量统计信息和工作量统计信息这两类所包含的指标不同,在计算时会进
行一定的换算。(
1
)非工作量统计信息从
10g
开始,非工作量统计信息总是可用的,其
主要包含以下指标项:
CPUSPEEDNW
:代表无负载
CPU
速度。
CPU
速度为每秒
CPU
周
期数,也就是一个
CPU
一秒能处理的操作数,单位是百万次
/
秒。
IOSEEKTIM
:
I/O
查找
时间,也就是平均寻道时间,其等于查找时间、延迟时间、
OS
负载时间三者之和,单位
为毫秒,默认为
10
。
IOTFRSPEED
:
I/O
传输速度,也就是平均每毫秒从磁盘传输的字节
数,单位为字节
/
毫秒,默认为
4096
。(
2
)工作量统计信息工作量统计信息只有在显式
地收集以后才可用。要进行显式收集,就不能使用空闲的系统,因为数据库引擎要利用正
常的数据库负载来评估
I/O
子系统。另一方面,衡量
CPU
速度的方法与进行非工作统计时
一样。工作量统计信息主要包含以下指标项:
CPUSPEED
:代表有负载
CPU
速度。
CPU
速度为每秒
CPU
周期数,也就是一个
CPU
一秒能处理的操作数,单位是百万次
/
秒。
SREADTIM
:随机读取单块的平均时间,单位为毫秒。
MREADTIM
:顺序读取多块的平
均时间,也就是多块平均读取时间,单位为毫秒。
MBRC
:平均每次读取的块数量,单位
为块数。
MAXTHR
:最大
I/O
吞吐量,单位字节
/
秒。
SLAVETHR
:并行处理中从属线程
的平均
I/O
吞吐量,单位字节
/
秒。
评论