转载

使用Oracle 11.2的DBMS_RESOURCE_MANAGER.CALIBRATE_IO对Exadata X5(HC)进行测试

联系: QQ(5163721)

标题: 使用Oracle 11.2的DBMS_RESOURCE_MANAGER.CALIBRATE_IO对Exadata X5(HC)进行测试

作者:Lunar©版权所有[文章允许转载,但必须以链接方式注明源地址,否则追究法律责任.]

之前测试的X3的flashcard的IOPS大概是满配200w左右(具体参见 《 Exadata上的IOPS和MBPS 》)

使用Exadata的calibrate命令测试X5-2的IOPS和MBPS

Oracle 11.2有一个DBMS_RESOURCE_MANAGER.CALIBRATE_IO,可以用来测试磁盘IO。

这里有几个需要注意的地方:

1,DBMS_RESOURCE_MANAGER.CALIBRATE_IO不能并行执行,否则会报错:

declare * ERROR at line 1: ORA-56705: I/O calibration already in progress ORA-06512: at "SYS.DBMS_RMIN", line 463 ORA-06512: at "SYS.DBMS_RESOURCE_MANAGER", line 1302 ORA-06512: at line 6

2,这个过程的测试,对于基准测试,我个人感觉非常不合适(数值严重偏低……不知道是不是需要调整什么参数,还是Exadata上就不应该用这个测试?)

3,测试中,指定延迟参数时,不能低于10秒(oracle的限制,估计是针对硬盘考虑的)

4,后面监控用的是Oracle已离职员工(凯耀,我的好兄弟)给的mon监控软件(底层基于开源的collect rpm包)

不过在新版本的exadata上貌似脚本还有些问题,因此,有些画图时丢失了(比如IOPS,比如flashcard的图)

5,测试脚本:

set timing on serveroutput on; declare   v_max_iops BINARY_INTEGER;   v_max_mbps BINARY_INTEGER;   v_act_lat BINARY_INTEGER; begin   DBMS_RESOURCE_MANAGER.CALIBRATE_IO(102,10 ,v_max_iops,v_max_mbps,v_act_lat);   dbms_output.put_line('max iops : ' || v_max_iops );   dbms_output.put_line('max mbps : ' || v_max_mbps );   dbms_output.put_line('actual latency : ' || v_act_lat ); end; /

这里 102 是磁盘数量,10 是硬盘延迟

102的由来是因为,这个是一个Quarter Rack,使用onecommand安装后,缺省可用102个asmdisk,这个可以查询(V$ASM_DISK)。

下面是本次的测试结果:

15:15:05 sys@DBM>set timing on serveroutput on; 15:15:21 sys@DBM>declare 15:15:21   2    v_max_iops BINARY_INTEGER; 15:15:21   3    v_max_mbps BINARY_INTEGER; 15:15:21   4    v_act_lat BINARY_INTEGER; begin 15:15:21   5  15:15:21   6    DBMS_RESOURCE_MANAGER.CALIBRATE_IO(102,10 ,v_max_iops,v_max_mbps,v_act_lat); 15:15:21   7    dbms_output.put_line('max iops : ' || v_max_iops );   dbms_output.put_line('max mbps : ' || v_max_mbps ); 15:15:21   8  15:15:21   9    dbms_output.put_line('actual latency : ' || v_act_lat ); 15:15:21  10  end; 15:15:21  11  / max iops : 10592 max mbps : 3515 actual latency : 11  PL/SQL procedure successfully completed.  Elapsed: 00:06:05.44 15:21:27 sys@DBM>

这里看到IOPS大概1w多,吞吐量大概每秒3.5GB,最大延迟11秒。这个数值跟使用mon(凯耀写的)监控的数量差不错:

使用Oracle 11.2的DBMS_RESOURCE_MANAGER.CALIBRATE_IO对Exadata X5(HC)进行测试

这里看到磁盘的吞吐量大概每秒3.5GB/s,跟mon监控的差不多

使用Oracle 11.2的DBMS_RESOURCE_MANAGER.CALIBRATE_IO对Exadata X5(HC)进行测试

IB的吞吐量大概是3.4GB/s

使用Oracle 11.2的DBMS_RESOURCE_MANAGER.CALIBRATE_IO对Exadata X5(HC)进行测试

逻辑硬盘的IOPS是10000左右,跟使用cell上的calibrate的数值差不多

使用Oracle 11.2的DBMS_RESOURCE_MANAGER.CALIBRATE_IO对Exadata X5(HC)进行测试

这是执行过程中的一个截图。

16:35:13 sys@DBM>select to_char(START_TIME,'yyyy-mm-dd hh24:mi:ss') START_TIME,  to_char(END_TIME,'yyyy-mm-dd hh24:mi:ss') START_TIME, 16:35:13   2  16:35:13   3               MAX_IOPS, MAX_MBPS, MAX_PMBPS,LATENCY,NUM_PHYSICAL_DISKS 16:35:13   4  from dba_rsrc_io_calibrate; START_TIME          START_TIME  MAX_IOPS         MAX_MBPS        MAX_PMBPS          LATENCY NUM_PHYSICAL_DISKS ------------------- ------------------- ---------------- ---------------- ---------------- ---------------- ------------------ 2015-04-06 15:15:22 2015-04-06 15:21:27            10592             3515              320               11                102 Elapsed: 00:00:00.00 16:35:14 sys@DBM> 
正文到此结束
Loading...