Careful: Results may vary based on configuration options and hardware.
My experiment on a very low power system(laptop):
SQL> alter system set filesystemio_options=asynch scope=spfile;
System altered.
SQL> startup force;
ORACLE instance started.
Total System Global Area 1570009088 bytes
Fixed Size 2253584 bytes
Variable Size 889195760 bytes
Database Buffers 671088640 bytes
Redo Buffers 7471104 bytes
Database mounted.
Database opened.
SQL> select status from V$IO_CALIBRATION_STATUS;
STATUS
-------------
IN PROGRESS
------From another session after above change
SET SERVEROUTPUT ON
11:30:51 SQL> DECLARE
lat INTEGER;
iops INTEGER;
mbps INTEGER;
BEGIN
--DBMS_RESOURCE_MANAGER.CALIBRATE_IO(, ,iops, mbps, lat);
DBMS_RESOURCE_MANAGER.CALIBRATE_IO (28, 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;
/11:30:59 2 11:30:59 3 11:30:59 4 11:30:59 5 11:30:59 6 11:30:59 7 11:30:
59 8 11:30:59 9 11:30:59 10 11:30:59 11 11:30:59 12
max_iops = 84
latency = 11
max_mbps = 31
PL/SQL procedure successfully completed.
Elapsed: 00:13:13.69
----------End---------------------------------
SQL> alter system set filesystemio_options=setall scope=spfile;
System altered.
SQL> startup force
ORACLE instance started.
Total System Global Area 1570009088 bytes
Fixed Size 2253584 bytes
Variable Size 889195760 bytes
Database Buffers 671088640 bytes
Redo Buffers 7471104 bytes
Database mounted.
Database opened.
------From another session after above change
11:46:01 SQL> SET SERVEROUTPUT ON
11:46:11 SQL> DECLARE
lat INTEGER;
iops INTEGER;
mbps INTEGER;
BEGIN
--DBMS_RESOURCE_MANAGER.CALIBRATE_IO(, ,iops, mbps, lat);
DBMS_RESOURCE_MANAGER.CALIBRATE_IO (28, 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;
/11:46:21 2 11:46:21 3 11:46:21 4 11:46:21 5 11:46:21 6 11:46:21 7 11:46:
21 8 11:46:21 9 11:46:21 10 11:46:21 11 11:46:21 12
max_iops = 47
latency = 20
max_mbps = 37
PL/SQL procedure successfully completed.
Elapsed: 00:10:39.87
----------End---------------------------------
SQL> alter system set filesystemio_options=directIO scope=spfile;
System altered.
SQL> startup force
ORACLE instance started.
Total System Global Area 1570009088 bytes
Fixed Size 2253584 bytes
Variable Size 889195760 bytes
Database Buffers 671088640 bytes
Redo Buffers 7471104 bytes
Database mounted.
Database opened.
SQL>
------From another session after above change
12:02:18 SQL> SET SERVEROUTPUT ON
12:02:22 SQL> DECLARE
lat INTEGER;
iops INTEGER;
mbps INTEGER;
BEGIN
--DBMS_RESOURCE_MANAGER.CALIBRATE_IO(, ,iops, mbps, lat);
DBMS_RESOURCE_MANAGER.CALIBRATE_IO (28, 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;
/12:02:35 2 12:02:35 3 12:02:35 4 12:02:35 5 12:02:35 6 12:02:35 7 12:02:35 8 12:02:35 9 12:02:35 10 12:02:35 11 12:02:35 12
max_iops = 57
latency = 16
max_mbps = 12
PL/SQL procedure successfully completed.
Elapsed: 00:12:10.24
----------End---------------------------------
Let me know if u don't agree with method or anything else.
Still wip.
My experiment on a very low power system(laptop):
SQL> alter system set filesystemio_options=asynch scope=spfile;
System altered.
SQL> startup force;
ORACLE instance started.
Total System Global Area 1570009088 bytes
Fixed Size 2253584 bytes
Variable Size 889195760 bytes
Database Buffers 671088640 bytes
Redo Buffers 7471104 bytes
Database mounted.
Database opened.
SQL> select status from V$IO_CALIBRATION_STATUS;
STATUS
-------------
IN PROGRESS
------From another session after above change
SET SERVEROUTPUT ON
11:30:51 SQL> DECLARE
lat INTEGER;
iops INTEGER;
mbps INTEGER;
BEGIN
--DBMS_RESOURCE_MANAGER.CALIBRATE_IO(, ,iops, mbps, lat);
DBMS_RESOURCE_MANAGER.CALIBRATE_IO (28, 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;
/11:30:59 2 11:30:59 3 11:30:59 4 11:30:59 5 11:30:59 6 11:30:59 7 11:30:
59 8 11:30:59 9 11:30:59 10 11:30:59 11 11:30:59 12
max_iops = 84
latency = 11
max_mbps = 31
PL/SQL procedure successfully completed.
Elapsed: 00:13:13.69
----------End---------------------------------
SQL> alter system set filesystemio_options=setall scope=spfile;
System altered.
SQL> startup force
ORACLE instance started.
Total System Global Area 1570009088 bytes
Fixed Size 2253584 bytes
Variable Size 889195760 bytes
Database Buffers 671088640 bytes
Redo Buffers 7471104 bytes
Database mounted.
Database opened.
------From another session after above change
11:46:01 SQL> SET SERVEROUTPUT ON
11:46:11 SQL> DECLARE
lat INTEGER;
iops INTEGER;
mbps INTEGER;
BEGIN
--DBMS_RESOURCE_MANAGER.CALIBRATE_IO(, ,iops, mbps, lat);
DBMS_RESOURCE_MANAGER.CALIBRATE_IO (28, 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;
/11:46:21 2 11:46:21 3 11:46:21 4 11:46:21 5 11:46:21 6 11:46:21 7 11:46:
21 8 11:46:21 9 11:46:21 10 11:46:21 11 11:46:21 12
max_iops = 47
latency = 20
max_mbps = 37
PL/SQL procedure successfully completed.
Elapsed: 00:10:39.87
----------End---------------------------------
SQL> alter system set filesystemio_options=directIO scope=spfile;
System altered.
SQL> startup force
ORACLE instance started.
Total System Global Area 1570009088 bytes
Fixed Size 2253584 bytes
Variable Size 889195760 bytes
Database Buffers 671088640 bytes
Redo Buffers 7471104 bytes
Database mounted.
Database opened.
SQL>
------From another session after above change
12:02:18 SQL> SET SERVEROUTPUT ON
12:02:22 SQL> DECLARE
lat INTEGER;
iops INTEGER;
mbps INTEGER;
BEGIN
--DBMS_RESOURCE_MANAGER.CALIBRATE_IO(, ,iops, mbps, lat);
DBMS_RESOURCE_MANAGER.CALIBRATE_IO (28, 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;
/12:02:35 2 12:02:35 3 12:02:35 4 12:02:35 5 12:02:35 6 12:02:35 7 12:02:35 8 12:02:35 9 12:02:35 10 12:02:35 11 12:02:35 12
max_iops = 57
latency = 16
max_mbps = 12
PL/SQL procedure successfully completed.
Elapsed: 00:12:10.24
----------End---------------------------------
Let me know if u don't agree with method or anything else.
Still wip.
No comments:
Post a Comment