oracle自带存储过程的压测使用
1、使用前提条件:
A、timed_statistics参数为true B、sysdba权限 C、11g及以上版本 D、ASYNCH_IO开启
通过运行以下查询,确保为数据文件启用异步 I/O
COL NAME FORMAT A50
SELECT NAME,ASYNCH_IO FROM V$DATAFILE F,V$IOSTAT_FILE I
WHERE F.FILE#=I.FILE_NO
AND FILETYPE_NAME='DATA FILE';
2、运行测试脚本,会最后生产结果
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, 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;
/
3、通过视图查看状态和运行过程中查看负载
--在存过执行时可以查看其状态,status分为in progress、ready、not aviliabe三种
set linesize 300 pagesize 100;
select * from GV$IO_CALIBRATION_STATUS;
--
select * from DBA_RSRC_IO_CALIBRATE;
-- 在存过dbms_resource_manager.calibrate_io执行完后可以查看其结果