Moving The Bottleneck

Andy Warren, 2013-07-24

Most of you probably get that there will always be a bottleneck in a system. You implement a fix in one place, now something else becomes the constraint. The hard lesson to learn is that there is point of diminishing returns on optimizing (anything). Doesn’t mean you should stop, just that you should think about whether the possible gain is worth chasing. Perf tuning 101, right?

All of that flew through my head recently on a drive-through trip to McDonalds for iced tea. Recently it had been torn down and rebuilt, though the old building seemed perfectly good to me. Overall the new building is different in three big ways:

  • The playplace (where my kids have spent a lot of hours) was seriously downsized
  • The interior is more upscale
  • It has the dual drive-through lanes for taking orders

Interesting to think about what drove those changes. Too much work maintaining the playplace, not enough paying birthday parties? On the inside, maybe it’s to get some of the Starbucks business or the informal meeting place? The drive through lanes seem like the big win. I’ve sat on the side and watched, they definitely can move more people through using that set up (wonder if anyone has tried 3 lanes?).

Where’s the bottleneck? We stopped for tea at lunch time on a weekday and as soon as we moved forward to pay we could see it – traffic trying to make the right-turn-only onto a busy highway wasn’t working too well. Finally someone from McDonalds stepped out to try to wave people on when the road was clear. Not sure that is a good plan, but it helped and we went on with the day.

Does that mean the two lane drive up is a bad idea, a poor optimization? Not to me. It’s a very good optimization most of the time, it’s only at the highest peak times that there is a risk of a new bottleneck – road traffic – becoming the limiting factor. That’s life in the real world. No matter how much optimize when the load gets really heavy we may hit new issues, issues that we could only see if we had taken care of all the smaller bottlenecks first.

Sometimes performance tuning is indexes and hints and all the rest. Sometimes it’s re-imagining the problem and that isn’t easy. Go find a two-lane drive through fast food place, go through and order something to live it, then pull back around and park, watch a while. What could you do to move more vehicles through in the same amount of time?





Related content

Database Mirroring FAQ: Can a 2008 SQL instance be used as the witness for a 2005 database mirroring setup?

Question: Can a 2008 SQL instance be used as the witness for a 2005 database mirroring setup? This question was sent to me via email. My reply follows. Can a 2008 SQL instance be used as the witness for a 2005 database mirroring setup? Databases to be mirrored are currently running on 2005 SQL instances but will be upgraded to 2008 SQL in the near future.

Robert Davis


1,567 reads

Networking – Part 4

You may want to read Part 1 , Part 2 , and Part 3 before continuing. This time around I’d like to talk about social networking. We’ll start with social networking. Facebook, MySpace, and Twitter are all good examples of using technology to let…

Andy Warren


1,530 reads

Speaking at Community Events – More Thoughts

Last week I posted Speaking at Community Events – Time to Raise the Bar?, a first cut at talking about to what degree we should require experience for speakers at events like SQLSaturday as well as when it might be appropriate to add additional focus/limitations on the presentations that are accepted. I’ve got a few more thoughts on the topic this week, and I look forward to your comments.

Andy Warren


360 reads