Calculate the bandwidth of IO subsystem from OS linux

Calculate the bandwidth of IO subsystem from OS linux

We can calculate the IO rate of the disk from the OS to get an estimate of read/write to and from disk.

Locate a particular datafile on any of storage partition

[oracle@orcl12x ~]$ locate *.dbf
/app01/oradata/orcl12x/temp01.dbf
/app01/product/12.1.0/dbhome_1/dbs/cntrlorcl12x.dbf
/data01/oracle/oradata/orcl12x/datafile/ORCL12X/datafile/o1_mf_sysaux_hkg3odmm_.dbf
/data01/oracle/oradata/orcl12x/datafile/ORCL12X/datafile/o1_mf_system_hkg3k7kk_.dbf
/data01/oracle/oradata/orcl12x/datafile/ORCL12X/datafile/o1_mf_undotbs1_hkg3pxkh_.dbf
/data01/oracle/oradata/orcl12x/datafile/ORCL12X/datafile/o1_mf_users_hkg3v57d_.dbf
/data01/oracle/oradata/orcl12x/datafile/ORCL12X/datafile/testencry.dbf

Use dd to read the datafile and write the output to a output file and use time to determine the time taken for write.

[oracle@orcl12x ~]$ time dd if=/data01/oracle/oradata/orcl12x/datafile/ORCL12X/datafile/o1_mf_sysaux_hkg3odmm_.dbf of=IORATE.out
1679376+0 records in
1679376+0 records out
859840512 bytes (860 MB) copied, 48.0447 s, 17.9 MB/s

real    0m48.070s
user    0m0.682s
sys     0m8.571s
[oracle@orcl12x ~]$

Here we get ~ 48 seconds round trip time

IO rate = filesize/total time taken for I/O

Calculating the filesize:

[oracle@orcl12x ~]$ du -sh /data01/oracle/oradata/orcl12x/datafile/ORCL12X/datafile/o1_mf_sysaux_hkg3odmm_.dbf


---> 821M     -->filesize

821/48 = 17 MB/sec

Thus we got an bandwidth estimate of the IO subsystem

Leave a Reply

%d bloggers like this: