ZFS code path exercised by MySQL

I've recently begun looking at ZFS performance (in the context of MySQL usage). Being a ZFS newbie, I needed to look at what parts of the code are being exercised. Using a tool chain that consisted of sysbench, dtrace, perl and graphviz here's what I get:

Note: If the image doesn't fully render in your browser, you can download it Some details on how this map was generated:

I used dtrace to get callstacks during a sysbench run that exercises MySQL. The callstacks from dtrace were fed to perl to generate a closure of all functions that call into ZFS functions. The output from perl was a call graph which was fed to graphviz to generate the flowchart shown above.

Note that some GIGO is apparent in the graph where a few parent functions appear to be calling a grandchild function in addition to a child function. This is due to bugid:6713149 x64 kernel profile call stacks missing a frame

Comments:

This is pretty cool, can you please post the dtrace perl script as well?

Posted by jy on May 29, 2009 at 05:04 AM PDT #

Post a Comment:
  • HTML Syntax: NOT allowed
About

Charles Suresh

Search

Categories
Archives
« April 2014
SunMonTueWedThuFriSat
  
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
   
       
Today