[Solaris] Review: Solaris Performance and Tools
Useful. Much of it Dispensable.
Aug 30, 2006
A colleague recently noted that the consistency of interfaces in Solaris isn't its strong point, and she's right. Anyone who understands much of Solaris has had to manage a lot of odd and subtle details to get there. While the concepts that drive Unix variants are indeed powerful, it doesn't mean every contributing engineer sees and implements them the same way.

As a result, there are also differing views in topic areas like performance, including: proper methodology, or "best" practices; which statistics are useful and how to read them; which reported details may be significant, trivial, or misleading; and of course, which tools help you get them. As a primary author to Sun Microsystem's training course on Solaris performance, I heard many of those views from many experienced trainers, Sun engineers, and other interested parties. It is the complexity of the topic that leads many people to believe they understand it "the one way it is supposed to be understood."

Solaris Performance and Tools mostly punts on such religious matters, and there are in my view some good and some disappointing results. The book covers two primary areas. One is a detailed review of tools for measuring system and process performance, ranging from the obvious and everyday to the highly technical and obscure. Second, some brief but helpful introductions to Dtrace and mdb. What this book does not do much of is advise on method and application of these tools. While it does show a lot of output from these tools, it only occasionally comments on them.

There are many, many grey-box listings. As with the companion book, Solaris Internals, they are not indexed, captioned or even annotated! They are simply left for the reader to study. The idea of putting a print book together this way would bring little more than a shrug ten years ago. There wasn't much else you could do with a closed codebase and very few online references. Has nothing happened since to improve on that situation?

Some of these listings are code, written in Bourne shell, Perl, Dtrace, or C, so the reader must bring some reading skill in all four to this book. Even so, some kind of analysis, key-line commentary, an occasional emphasis on a non-obvious line...a little help, please? I know programmers find commenting a time-consuming chore, but a modern reader could do a lot of this work on their own, and spare the tree.

A lot of grey boxes are command-line output that illuminate the discussion; good. But it feels like filler when you're looking at sample output for such tools as ping, traceroute, snoop, multiple prstat and ps views, not to mention several trivial examples of several process tools. If there was something more interesting to say about them, ok, but without commentary it doesn't seem valuable.

There are useful notes on the conditions to observe regarding CPU, disk and I/O measurements, also very much detail-driven and idiomatic. The focus in these notes is on subtleties and non-obvious aspects of statistics that either aren't well-explained in other references, or are often mistakenly interpreted.

I'm happy for the discussion on mdb and kstats. These are hard subjects to teach because the available documentation is lengthy, hard to gloss, and (of course) poorly-commented where sample code or output is shown.

The key stength of this book is its long review of tools and what they do. The Dtrace Toolkit is reviewed at length, but there is equally useful coverage online, matching the widespread adoption of that tool suite.

Be advised: the front matter and back matter of this book are largely the same as Solaris Internals, not including the table of contents and index. I mention this because I found it peculiar that the bibliography for a book on performance, mdb, and dtrace shows no reference publications from the last six years.




Add a comment

Title
Body
HTML : b, i, blockquote, br, p, pre, a href="", ul, ol, li
Math Quiz 9 + 2 = (Helps stop blog spam)
Name
E-mail address
Website
Remember me Yes  No 

E-mail addresses are not publicly displayed, so please only leave your e-mail address if you would like to be notified when new comments are added to this blog entry (you can opt-out later).

TrackBack to http://radio.javaranch.com/michael/addTrackBack.action?entry=1156970675609