This tip is the third in a series on measuring server performance. Read part one on best practices for server benchmark testing and part two on conducting benchmark tests.
There is no single benchmark tool that can meet all of a system administrator’s performance-measuring needs. Admins should turn to several tools to perform benchmark and metric testing and compare the results to verify accuracy. In this tip, we'll outline the role of stress testing in benchmark efforts and summarize several popular tools available to engineers.
Benchmark testing under stress
Stress testing, often referred to as load testing, allows engineers to test the stability of
their environment without placing the server in an actual production environment.
In a real-world scenario, the engineer should test the performance of a server based on unique server contents and the type of applications being run. Benchmarking and running metric tests often revolve around simulating applications that will be run on the server to stress test an operating environment and the hardware it runs on. The goal is to simulate a real-world environment as best as possible. This means looking at user loads, testing network traffic, process utilization,
Requires Free Membership to View
When you register, you’ll also receive targeted alerts from my team of editorial writers and independent industry experts with the latest news, tips, and advice to help you do your job more efficiently and effectively. Our goal is to keep you informed on the hottest topics and biggest challenges faced by IT professionals today working with data center technologies.
Margie Semilof, Editorial DirectorTesting a machine in a simulated environment will give the engineering team the freedom to move resources around within the infrastructure. Oftentimes, a stress test is skipped and a machine is placed into a live environment for a “real load” test. Although this can work, you will run the risk of now having to modify a production server with live data on it. On the other hand, it’s much less stressful to make changes to a machine in an isolated state with not much depending on it at the moment.
Remember, these tests are being run in an artificial setting and therefore, the results will seldom exactly match the metrics of the server in a live environment. Engineers should never assume that their servers will run the same in a live setting as they do in a test environment. The key point to remember is this: Any variable added to the simulated environment will affect server performance. Whether the engineer adds 1 GB of RAM or an additional user to the server, metrics may become affected.
Performance Monitor
As
mentioned in a previous tip, Performance Monitor (PerfMon)
is a great benchmarking tool that is built into the Windows OS and graphically displays statistics
for a desired set of performance parameters, called “counters.”
Admins can also update the available counters when they install services and add-ons to the server.
For example, when DNS is configured on a server, PerfMon is updated with a set of objects and
counters for tracking DNS performance.
There are many counters to choose from and each will depend on what you are trying to test. After you choose your counter(s), PerfMon will then create a visual graph and update its timing intervals. The user can configure the intervals, but the default is set to 1 second. Recording the information in a log file will prove useful, and you can also set PerfMon to send alert messages when certain events occur. Admins can configure PerfMon to send emails and updates when thresholds are reached, such as when a CPU processor time reaches 99%. Remember, PerfMon isn’t just a physical hardware assessment tool. Many engineers will also utilize PerfMon in a virtual environment as well.
Intel’s Performance Counter Monitor
If the benchmark test is strictly focused on CPU performance, Intel Corp. has a great feature
built directly into its processors that allows engineers on Windows and Linux systems to see how
well their devices are operating.
According to Intel, the advanced feature set is available in the current Intel Xeon 5500, 5600, 7500, and Core i7 processor series. Intel states that the Performance Counter Monitor provides sample C++ routines and utilities to estimate the internal resource utilization of the latest Intel Xeon and Core processors. This can lead to significant performance improvements, as the engineer now has direct insight to how his processors are operating. An engineer can more easily decide if they need to throttle or overclock their processor, or simply add additional processors to the environment as needed. The package includes easy-to-use command line and graphical utilities that are based on these routines. They can be used out of the box by users who cannot, or do not want to, integrate the routines in their own testing software but want to monitor and understand the CPU capacity limits in real time.
Intel goes on to mention that for the Linux OS, the package includes an adaptor that plugs into the KDE* utility ksysguard. Using this daemon, it is possible to graph the various metrics in real time.
VMware VMmark 2.x
I've talked about the performance monitoring of physical servers, but there will be situations
where a virtualized server and its workloads need to be benchmarked as well.
VMmark 2.x is a free benchmarking tool that measures the performance and scalability of applications running in virtualized environments. This software tool helps engineers get an accurate reading on their virtual data center and its performance. VMmark works off of a tile-based scheme for measuring application performance. Each “tile” is a group of VMs organized into a logical unit. The total number of tiles that a multi-host platform can accommodate and the performance of each individual workload within the tile determine the overall benchmark score.
According to VMware Inc., after a server benchmark is run, the application workload metrics for each tile (logical group of VMs) are computed and aggregated into a score for that tile. This aggregation is performed by first normalizing the different performance metrics (such as megabytes/second and database commits/second) with respect to VMWare’s own reference system. Then, an average of the normalized scores is computed as the final score for the tile. The resulting scores for every tile are then added together to create the final application workload metric.
Uptime software
A great benchmarking tool that is widely used in the industry, uptime software Inc.'s server performance metric software is able to
graph and visualize all critical server resources within a data center. Utilizing the software, an
engineer can set metric tests based on CPU, memory, disk, processes, workload, network, user,
service status and configuration data. Agent-based monitoring is also available, which greatly
helps the ongoing process of metric gathering and benchmark testing over time. Much like running on
a physical box, these agents can also be deployed on virtual machines to gauge their
performance.
ABOUT THE AUTHOR: Bill Kleyman, MBA, MISM, is an avid technologist with experience in network infrastructure management. His engineering work includes large virtualization deployments as well as business network design and implementation. Currently, he is the Director of Technology at World Wide Fittings Inc., a global manufacturing firm with locations in China, Europe and the United States.
This was first published in June 2011
Data Center Strategies for the CIO
Join the conversationComment
Share
Comments
Results
Contribute to the conversation