使用 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 (, , 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
1DECLARE
2latINTEGER;
3iops INTEGER;
4mbps INTEGER;
5BEGIN
6-- DBMS_RESOURCE_MANAGER.CALIBRATE_IO (, , iops, mbps, lat);
7DBMS_RESOURCE_MANAGER.CALIBRATE_IO (1, 100, iops, mbps, lat);
8
9DBMS_OUTPUT.PUT_LINE ('max_iops = ' || iops);
10DBMS_OUTPUT.PUT_LINE ('latency= ' || lat);
11DBMS_OUTPUT.PUT_LINE ('max_mbps = ' || mbps);
12* end;
SQL> /
max_iops = 2215356
latency= 0
max_mbps = 30084
PL/SQL procedure successfully completed.
By eygle on 2018-11-06 20:44 |
Comments (0) |
FAQ | 3321 |