Performance Analysis for Java Websites / Edition 1 available in Paperback
Most Helpful Customer Reviews
based on 0 ratings. 2 reviews.
You have a website with problems. The front end is a set of http servers that invoke Java application servers to run servlets and JSPs. The servlets read and write, maybe via Enterprise Java Beans, to a relational database. The website might be financial (like eTrade), or a portal (like Yahoo), or an information site (like google), or a B2C commerce site (like Amazon) or a C2C (like eBay). You want to measure and improve key metrics like response time, throughput and caching. Security may also be important, but for efficiency, you only want to encrypt the minimum possible. You also probably have a firewall or two; in the latter case, you have a DMZ. And in this case, you often put the http servers inside the DMZ and the application servers and database behind the DMZ. Plus, you anticipate and hope for (and dread) heavy usage. So you also have a caching proxy server and router in the DMZ, where the router will load balance incoming requests to the http servers. So you have many different pieces of hardware and software, usually from multiple vendors. The database could be from Oracle or IBM or Sybase. The application servers could be IBM's Websphere or BEA's Weblogic or the freeware from jBoss. Perhaps the http servers are Apache freeware. The key business logic may be written in java and running on the application servers. There are tons of books on java. But how to test and optimise the entire system? Do you have to hire expensive consultants? Maybe not. Try first looking at this book. Written in fact by 3 IBM consultants. You might be thinking, "Is this some going to be some smarmy sales pitch?" Where the take home message is buy only IBM and you will achieve nirvana? The book does not unfold that way. The authors describe the various problems at a vendor neutral level. The examples (and screen captures) are drawn from several vendors. The writing is clear and rises above being buried in the minutae of specific code. The book is for both the programmer and the systems administrator. This is not really a programming book per se. Rather, it deals with test and design strategies for optimising those abovementioned metrics. Emphasis is placed on quantifying results and on incremental ramp up, where you install hardware and software in stages, measuring at each stage so that you isolate the effect of just that stage. Key issues like network bandwidth, network traffic analysis and vertical and horizontal scaling are the purview of sysadmins. If you are a sysadmin who knows some java, but that's not really your cup of tea, and are confronted with these issues, try this book. IBM, through its alphaworks division and Websphere, has one of the largest development efforts in java. (Comparable to Sun's, in fact.) This book is good evidence of that.
First of all this book is very practical. The authors have shared their in-depth knowledge on identifying performance bottlenecks, tuning and deployment of Java webs. The book is loaded with a lot of DOs and DON'Ts for your Java Web performance that will save you a lot of time and effort. The time spent reading this book is highly rewarding. Secondly this book is incredibly methodical. It starts with a big picture and ends with a big picture. You will find many books that talk about Java tuning. However more often than not in a real life situation, the most difficult task is to find out where the bottlenecks are. According to the authors, a Java Web is a comprehensive system that includes components inside your firewall (such as HTTP server, App server, and DB server etc.) as well as outside your firewall (such as routers, load balancer, switch, etc.). The authors guide you through the maze of finding the bottlenecks by showing you what the common symptoms are and what the corresponding root causes will be. The book goes in-depth on how to plan, execute, and interpret effective performance testing. Reading through from chapter to chapter, you will find that you never lose track of what the chapter is about. If you are really short on time, you can actually just read the Introduction at the beginning and the Plan Sheets & Check List at the end. You will find it invaluable. Check it out yourself!