« Oracle 18c新特性:Oracle 18.3 RPM安装顺畅初体验 | Blog首页 | Oracle 18c 19c 安装的 DBT-50000 错误解决 »
使用 DBMS_RESOURCE_MANAGER.CALIBRATE_IO 测试I/O性能
链接:https://www.eygle.com/archives/2018/11/dbms_resource_manager.html
在 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文章:
>> 2007-11-06文章:
>> 2006-11-06文章:
>> 2005-11-06文章:
>> 2004-11-06文章:
By eygle on 2018-11-06 20:44 | Comments (0) | FAQ | 3321 |