Information Technology Reference
In-Depth Information
determining factor for performance, taking into account that we are already using the most
suitable file system for our purpose.
File System Performance
Earlier we discussed the difference between read and write performance, and that essentially
tells us how our file system will perform. Because cloud computing is a data-driven field, file
system performance is one way to glimpse the overall performance of your cloud system. But
first things first; the file system itself is only one part of the actual overall file “system.” The
overall file system includes the specific storage hardware used and the interfaces that con-
nects all of them. If you have a powerful file system but have low-performance hardware,
then that will be the bottleneck in the system. With that in mind, it is cheaper to change the
file system than to change storage hardware, so you can upgrade and change as required by
your applications; that is to say, different applications are optimized for or work better in
some file systems and not others, so it is important to strike a balance for all the applications
you are running.
Performance was also dependent on CPU power and amount of RAM decades ago, but
those are still important factors when budget is concerned. Most modern multithreaded,
multicore server CPUs will be beyond adequate for handling fully loaded database systems,
but when on a budget we cannot always aim for the best. In this case, choosing the correct
CPU and amount of RAM, factoring in the perfect file system for your purposes, and keep-
ing scalability and future growth in mind will yield the best bang for the buck.
Let's get to the meat of the topic here. Let us reiterate that file system performance is depen-
dent on how applications interact with the file system and how the file system communicates
or interacts with the storage hardware as well as the hardware IOPS performance itself.
The first thing you can check, and of course optimize, in relation to your file system is how
the different applications are interacting with it. If you are a developer of an applications, then
chances are you know exactly how it interacts with the underlying file system. But if you are
an administrator, then you might need to familiarize yourself with what type of I/O profile the
application is presenting to the file system.
Our objectives in determining this I/O profile are as follows:
Group small I/O operations into one big I/O operation in order to achieve minimize
overhead whenever possible.
Cache as much of the I/O data as possible and reduce the number of I/O calls.
Reduce the number of I/O operation calls toward the underlying storage device. This
will consequently lower additional system resource consumption by keeping the storage
device idle most of the time.
Optimize the seek algorithm to reduce the amount of time for disk seek.
With these objectives in mind, we can now begin to try to understand the characteristics
of the I/O workload of our application, which will give us a clear idea of how we can tune
our file system accordingly. In Table 5.1, you will find the different workload profiles that
applications will fall into.
Search WWH ::




Custom Search