Monday, February 22, 2010

Thinking Clearly About Performance, revised to include Skew

I’ve just updated the “Thinking Clearly” paper to include an absolutely vital section that was, regrettably, missing from the first revision. It’s a section on the subject of skew.

I hope you enjoy.


RobB said...

I have some doubts on how valid an M/M/m model is in a typical database performance scenario. Taking the example from the wait chapter of your book where you have a 0.49 second (service_time) query that you want to perform in less than a second, 95% percent of the time. The most important point here is the assumption of an exponential distribution for service_time immediately states that about 13% of the queries will take more than 2X(Average Service Time), and going the other way most likely to take 0 seconds. From just this assumption only, it is immediately clear that it is impossible to meet the design criteria without looking at anything else. From your article and link to the Kendall notation, wouldn’t an M/D/m model be more appropriate when looking at something like SQL query response time?? Something like M/M/m seems more suited to queueing at the supermarket, for example, and probably many other ‘human interactive’ scenarios compared to a single sub-component of an IT system.

Cary Millsap said...

RobB, thank you for your questions. I have a response in mind, but I want to answer carefully. Right now I'm rushed, because I have a plane to catch. I'll respond with a new blog post within a few days. —Cary

Jeff Johnson said...

More thoughts on performance, mainly aimed at distinguishing it from responsiveness (an HCI concept) and at explaining the factors that make software responsive or not, are in Chapter 7 ("Responsiveness Bloopers") of my book GUI Bloopers 2.0.