暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

使用 DBMS_RESOURCE_MANAGER.CALIBRATE_IO 测试I/O性能

原创 eygle 2018-11-06
1039

在 Oracle 11g 中,数据库提供了 DBMS_RESOURCE_MANAGER.CALIBRATE_IO 过程,可以用于对当前数据库实例的I/O性能进行测试。


通过这个测试,可以让我们对数据库环境的IO能力获得一个基准的指标。


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个数进行设置。


以下是在我的云上环境测试得到的数据:



SQL> l


1 DECLARE


2 lat INTEGER;


3 iops INTEGER;


4 mbps INTEGER;


5 BEGIN


6 -- DBMS_RESOURCE_MANAGER.CALIBRATE_IO (<DISKS>, <MAX_LATENCY>, iops, mbps, lat);


7 DBMS_RESOURCE_MANAGER.CALIBRATE_IO (1, 100, iops, mbps, lat);


8


9 DBMS_OUTPUT.PUT_LINE ('max_iops = ' || iops);


10 DBMS_OUTPUT.PUT_LINE ('latency = ' || lat);


11 DBMS_OUTPUT.PUT_LINE ('max_mbps = ' || mbps);


12* end;


SQL> /


max_iops = 2215356


latency = 0


max_mbps = 30084



PL/SQL procedure successfully completed.


「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论