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

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