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.