正德厚生,臻于至善

Oracle数据库I/O基准性能测试

IOPS (Input/Output Per Second)即每秒的输入输出量(或读写次数),是衡量磁盘性能的主要指标之一。IOPS是指单位时间内系统能处理的I/O请求数量,一般以每秒处理的I/O请求数量为单位,I/O请求通常为读或写数据操作请求。

数据库I/O基准性能测试的SQL及测试结果
sqlplus / as sysdba
set timing on;
set serveroutput on;
DECLARE
    lat  INTEGER;
    iops INTEGER;
    mbps INTEGER;
  BEGIN
  -- DBMS_RESOURCE_MANAGER.CALIBRATE_IO (disk_count,max_latency , iops, mbps, lat);
     DBMS_RESOURCE_MANAGER.CALIBRATE_IO (12, 10, iops, mbps, lat);
    DBMS_OUTPUT.PUT_LINE ('max_iops = ' || iops);
    DBMS_OUTPUT.PUT_LINE ('latency  = ' || lat);
    dbms_output.put_line('max_mbps = ' || mbps);
  end;
  /
     DBMS_RESOURCE_MANAGER.CALIBRATE_IO (12, 10, iops, mbps, lat);
     DBMS_RESOURCE_MANAGER.CALIBRATE_IO (33, 20, iops, mbps, lat);

在 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个数进行设置。
赞(0) 打赏
未经允许不得转载:徐万新之路 » Oracle数据库I/O基准性能测试

评论 抢沙发

联系我们

觉得文章有用就打赏一下文章作者

支付宝扫一扫

微信扫一扫

登录

找回密码

注册