eygle.com   eygle.com
eygle.com eygle
eygle.com  
 

« Oracle 18c新特性:Oracle 18.3 RPM安装顺畅初体验 | Blog首页

使用 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文章:
    >> 2007-11-06文章:
           Varchar2(4000)能存多少数据?
    >> 2006-11-06文章:
    >> 2005-11-06文章:
    >> 2004-11-06文章:

By eygle on 2018-11-06 20:44 | Comments (0) | FAQ | 3321 |


CopyRight © 2004~2020 云和恩墨,成就未来!, All rights reserved.
数据恢复·紧急救援·性能优化 云和恩墨 24x7 热线电话:400-600-8755 业务咨询:010-59007017-7040 or 7037 业务合作: marketing@enmotech.com