Benchmarking Series "The Applicability/Usage of a Benchmark" (3/5)
Published Mar 23 2019 11:48 AM 410 Views
First published on TECHNET on Jan 11, 2011

[Prior Post in Series] [Next Post in Series]

In Part 2 of the Benchmarking Series we discussed the different pieces needed to create a successful benchmark.

Now that we know the elements and why we need benchmarks we're going to look at some of the ways you might use the results found in your benchmark testing.

There are many different layers that make up the architecture of your environment and your benchmark results need to be able to identify which tier is the cause of your bottleneck.

  • Presentation Layer - Web client, Windows client, User Interface Components

  • Logic and Access Layer - Application Servers, Web Servers

  • Data Access Layer - Database Servers, File Servers

When a bottleneck is found it can usually be categorized into either a hardware or a software bottleneck.


The results of your benchmark might identify within a stack level some hardware thresholds that are being breached.  Examples of these could be an increase in:

  • CPU Utilization

  • Memory Utilization

  • Disk IO

  • Network IO

Solutions for hardware bottlenecks can include:

  • Scaling Up - upgrading current hardware (ie. add more CPU, Memory, or Disk)

  • Scaling Out -  Adding more servers to spread out the load


Software bottlenecks can also exist in any layer of your architecture and examples of these could include :

  • Decrease in throughput of transactions

  • Increase in latency

  • Increase in locks, blocks, and deadlocks

  • Increase in duration for processes

Solutions for software bottlenecks can include:

  • Hotfix or Service Pack installation

  • Refactoring of code

  • Performance tuning of the database


Being able to determine the appropriate hardware and software for your environment can be a challenging task without the results of a benchmark.  A sizing guide will help you budget for the right level of system depending on the size and load you estimate the environment will experience.

Whether you are troubleshooting a current issue, testing an upcoming change, or investigating the scalability of your environment the results of your benchmark tests play a critical role.  The bottlenecks that are exposed will help create and prioritize an action plan to assist in getting you to the level of performance that you are looking to achieve.

In Part 4 of our Benchmarking Series we will discuss how a benchmark can factor into your sizing guide.


Follow Tier1OnSQL on Twitter

Version history
Last update:
‎Mar 23 2019 11:48 AM
Updated by: