Solaris Performance Analysis Methodology (The APM) - part 1b

The APM for Solaris - Part 1b Good morning;

As  promised in my previous post, I am continuing the exposé of the way I analyze
customer  workloads. Please note that the way you will approach this mission can be :
  • Personal - To be successful and have an happy customer (or consumer using a DTrace analogy), you may have to follow your own logic.
  • Traditional - The traditional approach is to start with a general tool (vmstat, prstat or sar) and drill down into interesting areas.
  • Based on previous analysis - You don't need to understand the whole performance picture and can focus on a specific issue.
This is fine. My overall intent is to give you some ideas. If you can walk away with a better process based on mine, my mission will be accomplished.

The APM for Solaris

Part 1 (continued) - Control what's running

Based on my previous post, you now have a better idea of what's going on in the different
layers of your architecture. But, what about the quality of this applications ? The most
common reaction that I get on this question is : "We can't do anything about it". This may
be true for commercially available application like a database or a web server. In fact, I found out that for a majority of our customer, we can improve performance by doing one
very simple thing : Recompile with a modern compiler and adequate flags.
(for Java, read this as : Use the latest supported JVM with adequate flags).

Please remember that Sun Studio 11 is now FREE. You have no excuse not to use it. A
better question is how you can find out what compiler was used for a specific binary.
An old Unix System V tool named elfdump is hidden under /usr/ccs/bin with other tools like prof or lex. (usually it is not in your path - just add it ). Note that elfdump -C can demangle C++ names. For example :

elfdump -c /iGen/iGen_all |grep "SUNWspro"

Convincing your customer to re-compile is sometimes difficult but will most of the time
yield performance gains. Fundamentaly, the quality of the instructions executed
by the processors is key. Using the -fast flag (it will be automatically expanded to a set of
 platform dependant flags) is a good place to start.

Well, that's it for today.
See you next time in the wonderful world of benchmarking.




Comments:

Post a Comment:
  • HTML Syntax: NOT allowed
About

mrbenchmark

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
News
Blogroll
deepdive

No bookmarks in folder