Oracle I/O性能测试之DBMS_RESOURCE_MANAGER.CALIBRATE_IO篇(持续更新中)

简介

Oracle 11g数据库中提供了DBMS_RESOURCE_MANAGER.CALIBRATE_IO PL/SQL过程用于对当前数据库实例的I/O性能进行测试。
DBMS_RESOURCE_MANAGER.CALIBRATE_IO的参数如下:

DBMS_RESOURCE_MANAGER.CALIBRATE_IO (
   num_physical_disks      IN  PLS_INTEGER DEFAULT 1,
   max_latency             IN  PLS_INTEGER DEFAULT 20,
   max_iops                OUT PLS_INTEGER,
   max_mbps                OUT PLS_INTEGER,
   actual_latency          OUT PLS_INTEGER); 

可以使用如下方法进行调用测试:

SET SERVEROUTPUT ON
DECLARE
  lat  INTEGER;
  iops INTEGER;
  mbps INTEGER;
BEGIN
-- DBMS_RESOURCE_MANAGER.CALIBRATE_IO (<DISKS>, <MAX_LATENCY>, iops, mbps, lat);
   DBMS_RESOURCE_MANAGER.CALIBRATE_IO (1, 100, iops, mbps, lat);

  DBMS_OUTPUT.PUT_LINE ('max_iops = ' || iops);
  DBMS_OUTPUT.PUT_LINE ('latency  = ' || lat);
  DBMS_OUTPUT.PUT_LINE ('max_mbps = ' || mbps);
end;
/

其中num_physical_disks参数根据当前系统中的disk个数进行设置,在虚拟环境中,可能要选取不同的数值进行测试比较,以获得最佳测试效果。

测试实例

以下为在虚拟机中的oracle rdbms 11.2.0.4测试的情况,分别选取num_physical_disks为1、2、3、4进行比较。
测试成绩如下:

num_physical_disks=1
max_iops = 118
latency  = 10
max_mbps = 12
num_physical_disks=2
max_iops = 126
latency  = 9
max_mbps = 16
num_physical_disks=3
max_iops = 110
latency  = 11
max_mbps = 16
num_physical_disks=4
max_iops = 102
latency  = 12
max_mbps = 14

可以看出,在我当前环境中,当num_physical_disks=2,测试可以获取最佳的I/O性能。

和Oracle Orion比较

和Oracle orion工具相比,使用DBMS_RESOURCE_MANAGER.CALIBRATE_IO方法进行I/O性能测试,是在真实的oracle实例环境中测试,相对Oracle orion使用程序模拟Oracle的I/O操作更能反映真实情况。

但是DBMS_RESOURCE_MANAGER.CALIBRATE_IO需要首先有Oracle 实例存在,而且测试结果和控制参数过于简单,不便于根据真实系统进行调整。而Oracle orion有比较多的控制参数,可以用来在实施数据库之前对I/O子系统性能进行评估。

一些研究

async IO?

把Oracle orion和DBMS_RESOURCE_MANAGER.CALIBRATE_IO两种方法测试出来的性能进行比较,发现DBMS_RESOURCE_MANAGER.CALIBRATE_IO的测试结果要远远低于Oracle orion。

看了一下文档,发现dbf的async IO没开。
使用alter system set filesystemio_options=’asynch’ scope=spfile打开async IO,然后重启数据库实例。

重新运行测试,结果如下:

max_iops = 120
latency  = 98
max_mbps = 18

(这个结果和没开async IO差别不大啊),还得继续研究。

    原文作者:花菜土豆粉
    原文地址: https://segmentfault.com/a/1190000000460880
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞