oracle calibrate_io做IOPS和吞吐量测试

参考信息:
https://oracle-base.com/articles/misc/measuring-storage-performance-for-oracle-systems#calibrate_io

oracle 11g开始,推出了内置的IO测试包dbms_resource_manager.CALIBRATE_IO,原理和上文提到的Orion工具基本相同。

■先决条件
1、测试所用的数据库用户必须具有sysdba权限
2、Timed_statistics参数必须设为true,异步IO必须打开
3、只有一个I/O校准同时在一个数据库实例进行
【另外,经确认这个测试无法在pdb里面进行。】
【同时注意,不要在生产库随意进行IO性能测试。】

■可通过如下方式确定是否开启异步IO

■如果异步IO是关闭的,可以通过以下方式开启
ALTER SYSTEM SET filesystemio_options=setall SCOPE=SPFILE;
SHUTDOWN IMMEDIATE;
STARTUP;

■DBMS_RESOURCE_MANAGER.CALIBRATE_IO存储过程
使用DBMS_RESOURCE_MANAGER.CALIBRATE_IO存储过程访问Oracle数据库的I/O校准功能,该存储过程可以模拟出一系列密集的只读工作量,针对数据文件产生1M的随机IO,从而能确定最大IOPS(每秒I / O请求)和MBPS(每秒M单位的IO)。该过程模拟产生数据块大小的随机读写(默认为8k),其会针对所有实例的所有数据文件都进行测试。
输入参数num_physical_disks用于指定数据库存储所用物理磁盘数。
输入参数max_latency指定目标延迟(以毫秒为单位的数据库块大小的IO请求的最大容忍延迟,一般IO平均等待在10ms左右是良好的表现)。
输出参数max_iops,最大的IOPS
输出参数actual_latency,这个库的平均延迟

■测试脚本

■结果输出样例

发表评论

电子邮件地址不会被公开。 必填项已用*标注