Skip navigation.

Rapid Bottleneck Identification

exploratory testing | performance testing
A very good white paper Rapid Bottleneck Identification. A Better Way to Load Test from Empirix. Nothing is really Empirix-specific.

It states very important points that almost always are missed in load testing (especially by beginners):
“The first is, in our experience, every application has at least one bottleneck and secondly, no application we’ve ever seen has ever scaled to meet its requirements, at least initially. These broad statements come from years of experience for hundreds of clients through thousands of performance tests.”

I am ready to sign under that. If you admit that, the whole approach to load testing should be different – something like specified in the paper. Starting from simple tests to find system’s bottlenecks, some kind of exploratory testing.

It is really not a completely new word in load testing and I am not sure that it should be named and trademarked (although why not, we are all in business) – more or less I have been using the same approach for a long time as well as, I guess, many other people. Still here it is very well stated. Another good point in the paper – about throughput and concurrency.

Unfortunately is can be quite difficult to implement the approach in practice from the political point of view – quite many people don’t like these assumptions. Quite often you need to have an “official” plan while you are doing something quite different. The wider these assumptions would be accepted, the simple would be work of load testers.

It Doesn't Cover Everything

Scott,

Can't comment on their tool, never used it - still never heard anything bad except that they support only Web (so doesn't fit my needs). Anyway, I don't see how that paper helps to sell the tool (for me it looks like tool-independent), rather it helps to sell their services.

My understanding of that paper is a little different - yes, it doesn't cover realistic scenarios, etc., but it doesn't refuse them either. My understanding was that they imply you still should have a full realistic scenario at the end (although I agree that it isn't specified explicitly so leave a room for interpretations - I interpret it according my thoughts). The question discussed here is how you start.

I believe that it is better to start from small elements of this full scenario to find possible problems/bottlenecks. Otherwise for a new system you almost always come to that point later in the test if you try to run the full test at the beginning (much later, and often you should change a lot after you figure out what problems are).

And I see some relevance in the throughput/concurrency point. When you are looking for bottlenecks, you usually need to go through multiple iterations. The full test usually takes a lot of time. In many cases you can run a short compressed scenario with the same throughput (of course, with meaningful elements of the full scenario) to trace down the problem much faster. Again, you still need to run the full test in the end (and the paper states it explicitly with "testing for concurrency").

So, in my understanding, the paper has value if understand it as a complement to what was written before (including, of course, what you have written) bringing attention to a couple of important practical points - how to start testing of a new system (it probably different for a minor release of a well-known system) and what is the best way to come to the full real-life scenario. In this sense the paper advocates more “exploratory” and “agile” load testing approach and I agree with it here.

Alex

You are overly kind in your review of the article.

1) I feel almost violated reading this. I've been writing on these concepts for years.

2) I simply HAVE to through the Bullsh*t flag on their throughput vs. concurrency discussion. Based on their definitions, I can't debate their results, but I can (and will) debate the relevance. Who really cares if there are a bunch of bottlenecks/defects if the same super-human user is clicking around the site at humanly impossible speeds?? That approach may - or may not - highlight things that deserve attention, but it has ZERO basis in reality, tells you nothing about how the application will perform in production, etc. etc. etc. Oh, and OF COURSE you'll find bugs/bottlenecks there - no system that I am aware of is actually designed with requirements to handle such a bogus scenario. In my mind, that is like testing an on-line bill pay application with an on-line book purchasing scenario! OF COURSE there will be bugs, the app isn't SUPPOSED to be able to purchase books!!!

3) Once again, here is a vendor publishing an article 3 years behind the thought process, getting key points wrong and spinning the whole thing to help sell their barely adequate tool to an unsuspecting market of amateur tool users. Makes me sad.

--
Scott Barber
Chief Technology Officer
PerfTestPlus, Inc.
Software Performance Specialist,
Consultant, Author, Educator
sbarber@perftestplus.com
www.perftestplus.com

Comment viewing options

Select your preferred way to display the comments and click 'Save settings' to activate your changes.