Tuesday, August 28, 2012

Linux Block I/O Layer

Linux Block I/O Layer





Performance
Access Time = Command Overhead + Seek Time + Settle Time + Rotational Latency
  • Command Overhead: Disk controller process the disk request, that includes translating the LBA number into the CHS tuple.
  • Seek Time: Moving the disk arms so the heads are aligned with the correct cylinder.
  • Settle Time: To stabilize the disk heads before reading or writing data.
  • Rotational Latency: Waiting for the requested sector to arrive at the location of the disk heads.
Performance Metrics
  • Throughput
  • Latency
Tuning I/O Performance


Benchmark Tools
IOZone:

For example:
[ ]# /ust/bin/iozone -a > /root/iozone.log
[ ]# /usr/bin/iozone/Generate_Graphs /root/iozone.log

Fileop: Filesystem IO benchmarking tool










It looks like "NOOP" is the best one in this case.

Reference:
1.Linux SCSI Subsystem
2. 10 iozone Examples for Disk I/O Performance Measurement on Linux
3. Measuring & Optimizing I/O Performance

No comments: