dbms_resource_manager.calibrate_io測試資料庫IO效能

eric0435發表於2016-10-12

在Oracle 11g中dbms_resource_manager PL/SQL包提供了calibrate_io過程可以用來對Oracle資料庫的IO子系統進行IO能力測試,其使用方法如下:

SQL> SET SERVEROUTPUT ON
SQL> DECLARE
  2  lat INTEGER;
  3  iops INTEGER;
  4  mbps INTEGER;
  5  BEGIN
  6  -- DBMS_RESOURCE_MANAGER.CALIBRATE_IO (, , iops, mbps, lat);
  7  DBMS_RESOURCE_MANAGER.CALIBRATE_IO (2, 10, iops, mbps, lat);
  8  DBMS_OUTPUT.PUT_LINE ('max_iops = ' || iops);
  9  DBMS_OUTPUT.PUT_LINE ('latency = ' || lat);
 10  dbms_output.put_line('max_mbps = ' || mbps);
 11  end;
 12  /

max_iops = 2643
latency = 8
max_mbps = 388

PL/SQL procedure successfully completed

上面的輸出資訊中的max_iops=2643,說明IO子系統的每秒IO請求次數是2643次,latency=8,說明IO子系統的延遲是8ms。max_mbps=388,說明每少的最大處理能力是388MB。

在dbms_resource_manager.calibrate_io執行時可以檢視其狀態

SQL> select * from V$IO_CALIBRATION_STATUS;

STATUS        CALIBRATION_TIME
------------- -----------------------------
IN PROGRESS

在dbms_resource_manager.calibrate_io執行完後可以檢視其結果

SQL> select * from DBA_RSRC_IO_CALIBRATE;

START_TIME                         END_TIME                           MAX_IOPS   MAX_MBPS  MAX_PMBPS    LATENCY NUM_PHYSICAL_DISKS
---------------------------------- -------------------------------- ---------- ---------- ---------- ---------- ------------------
11-OCT-16 04.53.17.202399 PM       11-OCT-16 05.02.21.056682 PM           2643        388         39          8                  2

這個功能相對於Oracle提供的Orion工具來說使用更簡單,但它必須建立資料庫並且在11g及以後版本才能使用。

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/26015009/viewspace-2126194/,如需轉載,請註明出處,否則將追究法律責任。

相關文章