FAQ
2018-11-06
使用 DBMS_RESOURCE_MANAGER.CALIBRATE_IO 测试I/O性能
在 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.
历史上的今天
- 2008-11-06 IT168&ITPUB高校行活动 - 北京北航
- 2007-11-06 使用REF CURSOR处理Oracle的结果集
- 2007-11-06 Varchar2(4000)能存多少数据?
- 2006-11-06 江湖传闻:猫扑将与华友世纪合并
- 2006-11-06 上传了几款推荐的工具软件
- 2005-11-06 Danny Wright(丹尼·瑞特)的美妙音乐
- 2004-11-06 如何从结果集中获得随机结果