Checking and identifying server bottlenecks
caused by hard drive DISK READ / DISK WRITE operations with iotop
on Linux
As a server system administrator. Every now and then I have an
overloading servers, where it is crucial to find the exact reason
for the server overloads / crashes.
In many occasions the
top or
htop are not enough for
me to quickly get a server overload caused by a hard drive i/o
operations.
When I got this kind of unusual problems caused by hard drives
overheats, the system
load avarage numbers increase
tremendously. Still I had that cases in which the top shows only a
couple of percents of server load and it seems initially like the
problem is a kind of mystery.
At that cases I usually check the Hard Disk Drive (HDD) disk I/O
operations to determine if, the file read and writes of the server
are not exceeding the maximum amount of symultaneous read and
writes a hard drive can support, or some kind of hardware problem
is not causing a hard drive temperature overheats.
Of course the server hang ups caused by hard disk read or writes
slowliness is not news but still it's something that some
administrators does fail to think about or even check and therefore
often server access problems appear again and again for quite some
time until the problem is identified and resolved.
Thus I wrote this small article to mention about the importance of
the Linux System administrator to always have the
iostat or
sysstat utilities at hand and regularly use them to check
the hard drive disk and writes to be sure server overloads doesn't
root at the hard drive read and write opeartions.
This is an absolutely necessary practice especially for busy
servers.
My personal experience on the disk caused server slowliness and
hangs are that this kind of problems with hard drive overheats more
often occurs on servers running either an old hard
ATA hard
drives, or on Linux machines running Webserver or FTP, Samba
etc. in which rapid file transfers from a huge number of clients is
being requested or processed.
In that kind of shitty situations, installing and using the
iotop will show you statistics about your hard drives
Total DISK READ and DISK WRITES and will thus give you a
hint if there is a server bottleneck caused by the harddrive.
The iostat is available for Debian package and installing it comes
to;
debian:~# apt-get install iotop
Hope this article helps to some lame admin like me out there
:)