Intro to IO Profiling of Applications
Mar 10, 2010, 18:02 (0 Talkback[s])
(Other stories by Jeffrey B. Layton)
Full Text Search: The Key to Better Natural Language Queries for NoSQL in Node.js
"One of the sorely missing aspects of storage is analyzing and
understanding the IO patterns of applications. This article will
examine some techniques for performing IO profiling of an
application to illustrate what information you can gain.
"One of the classic problems in designing storage solutions is
that we don’t know what kind of IO performance applications
need. We may have some empirical knowledge, “switching to
SSD’s improved by wall clock time by 25%,” or,
“adding an extra drive improved my application performance by
11%.” While this information is helpful to some degree what
is missing is the understanding of why performance improved and by
extension, what are the driving mechanisms behind the performance
improvement. Perhaps equally important for the application
developers is that understanding the driving forces of IO
performance for your application can be used to improve the IO
performance, if needed.
"This article is an introduction to using a common Linux system
administration tool - strace. Strace output from an application can
be used to produce a huge amount of information about the IO
behavior of your application."