Chapter 2. Monitoring and benchmark tools 71
Draft Document for Review May 4, 2007 11:35 am 4285ch02.fm
platform shares many of the technologies available for desktop computers. Server
benchmarks spawn multiple threads in order to utilize the SMP capabilities of the system
and in order to simulate a true multi user environment. While a PC might start one web
browser faster than a high-end server, the server will start a thousand web browsers faster
than a PC.
Simulate the expected workload: All benchmarks have different configuration options that
should be used to tailor the benchmark towards the workload that the system should be
running in the future. Great CPU performance will be of little use if the application in the
end has to rely on low disk latency.
Isolate benchmark systems: If a system is to be tested with a benchmark it is paramount
to isolate it from any other load as good as possible. Already an open session running the
top command can greatly impact the results of the benchmark.
Average results: Even if you try to isolate the benchmark system as good as possible there
might always be unknown factors that might impact systems performance just at the time
of your benchmark. It is a good practice to run any benchmark for at least three times and
average the results in order to make sure that a one time event does not impact your entire
analysis.
In the following sections, we’ve selected some tools based on these criteria:
Works on Linux: Linux is the target of the benchmark
Works on all hardware platforms: Since IBM offers three distinct hardware platforms
(assuming that the hardware technology of IBM System p and IBM System i™ are both
based on the IBM POWER™ architecture) it is important to select a benchmark that may
be used without big porting efforts on all architectures.
Open source: Linux runs on several platform then the binary file may not be available if the
source code is not available.
Well-documented: You have to know well about the tool when you perform benchmarking.
The documentation will help you to be familiar with the tools. It also helps to evaluate
whether the tool is suit for your needs by taking a look at the concept and design and
details before you decide to use certain tool.
Actively-maintained: The old abandoned tool may not follow the recent specification and
technology. It may produce a wrong result and lead misunderstanding.
Widely used: You can find a lot of information about widely-used tools more easily.
Easy to use: It’s always good thing.
Reporting capability: Having reporting capability will greatly reduce the performance
analysis work.
2.4.1 LMbench
LMbench is a suite of microbenchmarks that can be used to analyze different operating
system settings such as an SELinux enabled system versus a non SELinux system. The
benchmarks included in LMbench measure various operating system routines such as
context switching, local communications, memory bandwidth and file operations. Using
LMbench is pretty straight forward as there are only three important commands to know;
make results: The first time LMbench is run it will prompt for some details of the system
configuration and what tests it should perform.
make rerun: After the initial configuration and a first benchmark run, using the make rerun
command simply repeats the benchmark using the configuration supplied during the make
results run.