I've stumbled around for awhile searching for a way to observe IO
at the table or file level on a MyISAM engine. Since I'm running
on Solaris 10 I decided to explore dtrace and in my travels I
found some handy scripts that made it easier.
I used iosnoop which can be found here : http://brendangregg.com/dtrace.html#DTraceToolkit
iosnoop can be pointed at a specific pid, in my case the pid of
the mysqld process:
iosnoop -v -p123456
Since the probe fires when IO happens, this will send out quite a
bit of output to STDOUT. So I wrote a perl script to call iosnoop
and summarize Read and write IO Counts and Bytes by the minute. I
still have more testing and refinements but it seems to work
correctly. I have probably over-scaled the bytes by converting to
Mbytes.
Here is a sample output:
…
Showing entries 1 to 1
Aug
15
2008
Showing entries 1 to 1