Analyzing I/O performance in Linux
Apr 24, 2010, 07:02 (1 Talkback[s])
(Other stories by Nick Anderson)
Full Text Search: The Key to Better Natural Language Queries for NoSQL in Node.js
"Monitoring and analyzing performance is an important task for
any sysadmin. Disk I/O bottlenecks can bring applications to a
crawl. What is an IOP? Should I use SATA, SAS, or FC? How many
spindles do I need? What RAID level should I use? Is my system read
or write heavy? These are common questions for anyone embarking on
an disk I/O analysis quest. Obligatory disclaimer: I do not
consider myself an expert in storage or anything for that mater.
This is just how I have done I/O analysis in the past. I welcome
additions and corrections. I believe it's also important to note
that this analysis is geared toward random operations than
sequential read/write workloads.
"Let's start at the very beginning … a very good place to
start. Hey it worked for Julie Andrews … So what is an IOP?
An IOP is an input output (I/O) Operation and it's measured in
seconds. It's good to note that IOPs are also referred to as
transactions per second (tps). IOPs are important for applications
that require frequent access to disk. Databases, version control
systems, and mail stores all come to mind.
"Great so now that I know what an IOP is how do I calculate it?
IOPS are a function of rotational speed (aka spindle speed),
latency and seek time. The equation is pretty simple, 1/(seek +
latency) = IOPS. Scott Lowe has a good example on his
- Benchmarks Of GCC 4.5.0 Compiler Performance(Apr 19, 2010)
- Choosing the Right Solid State Drive for Your Storage Network(Apr 13, 2010)
- Harping on Metadata Performance: New Benchmarks(Apr 09, 2010)
- Reseller exposes Opteron 6100 speeds and prices(Mar 26, 2010)
- Benchmarks: Mandriva 2010.1, PCLinuxOS 2010, Ubuntu 10.04, openSUSE 11.3(Mar 18, 2010)
Power & Memory Usage Of GNOME, KDE, LXDE & Xfce(Mar 09, 2010)