InfoQ

News

Article: The Box: A Shortcut to finding Performance Bottlenecks

Posted by Floyd Marinescu on Sep 24, 2007 05:29 PM

Community
Architecture
Topics
Performance & Scalability
Tags
Performance Evaluation,
Threading,
JVM
Quite often performance problems will be reported with some very antidotal comments that do nothing to help you understand where to start looking. Faced with this dilemma, it is not uncommon for teams to start guessing at the root cause.

Performance tuning specialist Kirk Pepperdine has shared one of his own approaches for starting to find the true cause of performance problems: "the box" - a little diagram that is an abstraction of a complete system. The box is a reminder of the true causes of performance bottlenecks.

Read  The Box: A Shortcut to finding Performance Bottlenecks.

The has 4 layers: People, Application, Java Virtual Machine, and Hardware. Each of these layers has a role in systems performance, and Kirk talks about when   The purpose of the box is to eliminate guessing by showing us how to sequence an investigation.

Kirk advocates a bottom to top investigative process, the goal of which is to eliminate as many potential sources for the bottlenecks as can possibly eliminated before we start looking at the code.

6 comments

Reply

So what's new? by James Richardson Posted Sep 25, 2007 8:55 AM
Re: So what's new? by Dmytro Dyachuk Posted Sep 25, 2007 11:42 AM
Re: So what's new? by Kirk Pepperdine Posted Oct 17, 2007 12:20 PM
Re: So what's new? by osman geldi Posted Jul 20, 2008 9:59 AM
The box is ok, but really you shouldn't be in this position by Morten Udnæs Posted Oct 2, 2007 2:33 PM
Re: The box is ok, but really you shouldn't be in this position by Kirk Pepperdine Posted Oct 17, 2007 12:17 PM
  1. Back to top

    So what's new?

    Sep 25, 2007 8:55 AM by James Richardson

    This chat doesn't really deserve its own nomenclature does it? "The Box" == "The box of obvious stuff". - Look at system load - Use some system tools - Java has gc. - creating zillions of threads can be harmful.

  2. Back to top

    Re: So what's new?

    Sep 25, 2007 11:42 AM by Dmytro Dyachuk

    The author did not mention that using synchronized methods locks the whole instance of the class and very often causes significant performance degradation. WBR, Dmytro

  3. Handling performance requirements is vital part of any software development effort. If you end up needing the "box" someone hasn't done their job properly. In terms of fixing bad performance, I don't agree that you should go from bottom and upwards. It doesn't help to tune the hardware, VM and database of an application thats badly designed/constructed. Usually you have to work both ways (both at application level and infrastructure level) at the same time, and choose what gives most effect and lowest risk. Final advice: Get real volumes of data and measure!

  4. Handling performance requirements is vital part of any software development effort. If you end up needing the "box" someone hasn't done their job properly.
    I think this comment is a bit unfair. It is like saying that bugs are because someone hasn't done their job properly. There are many reasons why performance problems creep into for many reasons. For example, concurrency issues often can't be found until you start integration testing. At that point you maybe into a full diagnostic effort on the application. This is a normal course of development in an imperfect world
    In terms of fixing bad performance, I don't agree that you should go from bottom and upwards. It doesn't help to tune the hardware
    The article isn't about tuning, it is about a process of diagnostics, understanding that you really do have a problem with the DB as well as determining if the problem is caused by your application or by the DB its self. The process is about ensuring consistency of results in your tuning efforts so that you're not wasting time fixing phantom problems. This, IME is the lowest risk way to proceed. Kind regards, Kirk

  5. Back to top

    Re: So what's new?

    Oct 17, 2007 12:20 PM by Kirk Pepperdine

    This chat doesn't really deserve its own nomenclature does it? "The Box" == "The box of obvious stuff".
    At one time I might have agreed with this. However I have found that people have found this visualization of the *obviously* useful. It is a rough abstraction, it is flawed but even so.... Kind regards, Kirk

  6. Back to top

    Re: So what's new?

    Jul 20, 2008 9:59 AM by osman geldi

    client for Windows that can be used to communicate, share, play or work with others on IRC networks around the world, either in multi-user group conferences or in one-to-one private discussions. It has a clean, practical interface that is highly configurable and supports features such as buddy lists Sohbet Chat travesti travesti travesti travesti travesti geciktirici sex shop sex penis büyütücü chat adult forum redtube 89 sex shop erotik shop şişme bebek sikiş file transfers, multi-server connections, SSL encryption, proxy support, UTF-8 display, customizable sounds, spoken messages, tray notifications, message logging, and more. mIRC also has a powerful scripting language that can be used both to automate mIRC and to create applications that perform a wide range of functions from network communications to playing games. mIRC has been in development for over a decade and is constantly being improved and updated with new technologies. The latest news about mIRC can be found on the latest news page.

Exclusive Content

Rob Windsor on WCF with REST, JSON and RSS

WCF is not just for SOAP based services and can be used with popular protocols like RSS, REST and JSON. Join Rob Windsor as he introduces WCF 3.5 and its new native support for non-SOAP services.

Christophe Coenraets Discusses Flex 3, AIR, and BlazeDS

Christophe Coenraets discusses Flex 3, Flex Builder, AIR, BlazeDS, Adobe and open source, integrating Flex with existing applications, and integrating RIAs with search engines and browsers.

Debunking Common Refactoring Misconceptions

Danijel Arsenovski attempts to dispel some of the myths around refactoring and how it applies to .NET developers.

REST Eye for the SOA Guy

In this presentation, recorded at QCon San Francisco, CORBA guru Steve Vinoski explains REST from the view of someone who comes to SOA from a traditional, RPC-oriented background.

Choose Feature Teams over Component Teams for Agility

Feature teams are key to scaling agility for large teams. In an excerpt from "Scaling Lean and Agile Development," Larman & Vodde show how feature teams resolve traditional problems & raise new issues

Billy Newport explains Virtualization

Billy Newport talks about virtualization, eXtreme Transaction Processing (XTP) and WebSphere Virtual Enterprise. He discusses hardware, hypervisor, JVM, application and data virtualization.

Virtualization and Security

While virtualization provides many benefits, security can not be a forgotten concept in its application.

Introduction to Agile for Traditional Project Managers

This session is specifically aimed at traditionally trained project managers who are new to Agile, and who would like to be able to relate the PMI's best practices to their Agile equivalents.