Forgot your password?
typodupeerror
Image

Jboss AS 5 Performance Tuning 45

Posted by samzenpus
from the read-all-about-it dept.
RickJWagner writes "20 percent inert ingredients, 80 percent nitro glycerin. That's how I'd describe JBoss AS 5 Performance Tuning from Packt. The first 50 pages are nothing to get excited about. This first chapter and a half describes the author's performance tuning life cycle methodology and introduces us to a handful of open source tools that can assist us in our tuning efforts. The tools section seems especially weak-- there are plenty of screenshots showing the tool's menu screens, something you'd normally pick up in about a minute from the tool's distribution website. Honestly, at this point I was beginning to wonder if this book was going to live up to my expectations. Luckily I pressed on for a few more pages, and hit the rich paydirt that makes up the rest of the book. From that point on, every section yielded valuable tuning advice." Keep reading for the rest of Rick's review.
Jboss AS 5 Performance Tuning
author Francesco Marchioni
pages 312
publisher Packt Publishing
rating 8/10
reviewer Rick J Wagner
ISBN 184951402X
summary A very good book on performance tuning in general and JBoss in particular.
The author breaks the environment down into slices: Operating System, Application Server stack components, application code. Starting with the O/S, the book tells us the signs to watch for in various situations (i.e. how to detect and compensate for high or low utilization of the processor, or the disk.) The author explains likely causes for the problem, and what can be done about it.

Java programmers need to understand JVM tuning, and here it is given a whole chapter. This includes a lengthy explanation of how to correctly size your heap, followed by a nicely illustrated section on garbage collection, gc sizing, and choosing the best algorithm for your needs. All well done and very readable.

The book's subject is JBoss AS 5, and it's given a whole chapter, too. Thread pools and Connection pools are explained, as well as proper tuning of prepared statements and logging recommendations. Every programmer knows that logging can really drag performance down, right? Here we learn how to optimize it.

The middle of the book deals with JEE applications and the application server components that enable them. EJBs are given extensive coverage. JMS, a JEE hot-button, is also covered well. (Both JBoss Messaging and the newer HornetMQ are explained.)

The persistence layer is given holistic coverage. Starting with database design recommendations, the author proceeds to indexing, JDBC, connection pooling, and JPA/Hibernate. The Hibernate section is a good example of the kind of detail you'll find-- the author explains caching (first and second level) and the considerations you'll want to make to optimize their usage. Besides tuning the application server parts, there are recommendations for your application code, too. Hopefully you've bought into the recommendation to tune your code all throughout the development life cycle. If not, well, too bad for that one. Ditto for the database design.

One of the things JBoss makes really easy is clustering. Note: I didn't say cluster tuning, I said clustering. To optimize clustering, you'll have to understand all that low-level networky stuff like ethernet flow control and UDP buffer sizing. (I'm guessing this is not something your garden-variety developer thinks about every day, and make specific mention here as a demonstration of the kind of depth you get in this book.) Besides these bottom-layer concerns, the book also covers higher level parts of the stack like JGroups and JCache configuration, replication, and tuning cache storage. Unless you're really, really a bit-head, all that probably sounds a little deep. But the book explains it all in a way that makes it understandable and approachable.

JBoss uses Tomcat for it's web server tasks, so Tomcat is given good coverage as well. Nothing here seems JBoss specific, so most any Tomcat user could benefit from this part of the book. Connector configuration, thread pool sizing, and the Apache Portable Runtime are included. JBoss web server integration with Apache introduces us to mod_jk, mod_proxy, and mod_cluster. As throughout the book, the author uses JMeter to capture metrics to demonstrate to us the kind of performance we might get from each.

The final technical chapter deals with web application frameworks and web services. Web applications seem especially tunable in the development stage, while web services get code construction tips as well as configuration hints. The book ends with one more suggestion to make performance tuning part of your every day life rather than something crammed in after deployment time.

Like many technicians, I respect technical knowledge. This book is crammed full of it, and it's all presented in a readable manner. What's the bottom line? I'd recommend this book to any JBoss user (strongly), any JEE developer (with little reservation, especially Tomcat users), or any Java coder (who has a little extra money to spend.) Anyone else can probably live without this book. But if you're running JBoss (and you're technically minded), spend the money, you'll be glad you did.

You can purchase Jboss AS 5 Performance Tuning from amazon.com. Slashdot welcomes readers' book reviews -- to see your own review here, read the book review guidelines, then visit the submission page.

*

This discussion has been archived. No new comments can be posted.

Jboss AS 5 Performance Tuning

Comments Filter:
  • Once again 8/10 (Score:2, Interesting)

    by Anonymous Coward

    How many /. book reviews end up 8/10.

    Review some books that suck so we can avoid them please!

    • If your average is 8/10... then change those all to 5/10

      That should create more headroom in the upper range and provide for more clarity in the reviews.

      Or just rate everything at 8/10 so the authors can be happy that they are 'above average'

    • Re:Once again 8/10 (Score:4, Interesting)

      by Lunix Nutcase (1092239) on Monday December 20, 2010 @03:23PM (#34620198)

      Packt Publishing: Check
      Rick J Wagner: Check
      8/10 Score: Check

      This is just another shill review bought and paid for by Packt Publishing.

      • A good checklist, but you're totally wrong on the last point. I have never received a dime from Packt or any other publisher. (I did two reviews for Manning recently, for instance.) My total compensation? Sometimes a print copy of the book, sometimes an e-copy. I just like to keep current on tech topics, so I do a lot of reading. Rick
    • I give this post a 2/10.

    • Well, I guess you're right, I probably am a little heavy on '8's. But there's a reason-- I get to pick the books I review, so I tend to pick ones that I'm going to like. (Why aren't there any 10s? I guess I haven't found the perfect book yet.) I would say that if I do any reviews in the future I'll try to throw in more variety, but I really don't see it happening. (I'm going to pick books that I like....) so I'd say please just read the reviews (they're honest) and make your own numeric rating. Rick
  • by rainmayun (842754) on Monday December 20, 2010 @04:45PM (#34621294)

    I wish I had known about this book three years ago. Built that system, went through four releases, and moved on. God bless whoever has to maintain it now. But my biggest performance issues were from underdocumented 3rd party vendor APIs - black box JARs that did whatever the hell they wanted to, and a bunch of headscratching from the vendor when the damn things locked up.

  • by TheDarkMaster (1292526) on Monday December 20, 2010 @04:56PM (#34621476)
    How to get more performance from Jboss? Throw then away and use Apache Tomcat :)
    • JBoss is built on top of Tomcat. Tomcat doesn't have support for Java EE applications. If all you need is a servlet container, then by all means use Tomcat.
      Now if you meant to say 'throw away Java EE', then perhaps you had a point, depending on the actual use cases.
      • Well, I've used both in some applications and after a while I came to the conclusion that comparing Jboss with Tomcat is like comparing a whale to a sardine. And then I discovered that most of the features that I might need JBoss could be done by myself, the obvious choice was to stay with Tomcat for performance.
  • Riiiight! I'm so not following that link! Are the trolls not even trying to hide their goatse links anymore?
    • Riiiight! I'm so not following that link! Are the trolls not even trying to hide their goatse links anymore?

      You've been Rick Holed!

  • by BestNicksRTaken (582194) on Monday December 20, 2010 @08:11PM (#34623658)

    Did anyone else read that as "JBoss ASS Performance"?

  • by Anonymous Coward

    I did the Googol and found. "20 percent inert ingredients, 80 percent nitro glycerin" is good. Where can I find supplier of this JBoss materials, I can pay top American dollar.

If God had a beard, he'd be a UNIX programmer.

Working...