How to benchmark Unix OS

Posted on 2014-03-15
Last Modified: 2014-05-06
I'm upgrading the hardware for my AIX server.

I wanted to get some benchmarks for the server before we went for the upgrade to compare before and after results.

Can anyone suggest any benchmarks for processing performance etc and how to run the same.
Question by:gaugeta
LVL 84

Expert Comment

ID: 39931990
The most meaningful benchmark would be one that does the kinds of things you expect you be doing, and measures the kinds of parameters of most interest to you.

So, what kinds of tasks is your server performing now, and in what ways would you want to improve performance on those tasks?

Author Comment

ID: 39932036
@ozo: Thanks for the reply.

Currently its running a website and most of the background processing which involves C++,shell scripts and java code running.

Now I ant to get a benchmark value for the processing performance alone.

Can you suggest some benchmarks to measure the processing performance and I/O performance.
LVL 84

Expert Comment

ID: 39932057
Dhrystone and Whetstone are some classic benchmarks of processor performance But how meaningful either would be for your situation may depend on what kinds of operations your your processor needs to perform when running your code.
A list of a few different I/O benchmarks can be found here:
Industry Leaders: We Want Your Opinion!

We value your feedback.

Take our survey and automatically be enter to win anyone of the following:
Yeti Cooler, Amazon eGift Card, and Movie eGift Card!

LVL 48

Expert Comment

ID: 39932217
There's loads of tools for benchmarking webserver performance.

The tool I've used in the past is called Seige

Author Comment

ID: 39932387
@ozo : Thanks for the reply.

I ran the Dhrystone benchmark but not getting any results.

                   INDEX VALUES
TEST                                                             BASELINE     RESULT      INDEX

Dhrystone 2 without register variables       22366.3        0.0            0.0
     SUM of  1 items                                                                           0.0
     AVERAGE                                                                                      0.0

An I'm getting the errors while the benchmar is running.

        gcc -o ./pgms/arithoh -DTIME -O         -Darithoh ./src/arith.c
./src/arith.c: In function 'report':
./src/arith.c:39: warning: incompatible implicit declaration of built-in function 'exit'
./src/arith.c: In function 'main':
./src/arith.c:51: warning: incompatible implicit declaration of built-in function 'exit'
/tmp//ccSglu5P.s: line 16: 1252-191 Only .llong should be used for relocatable expressions.
/tmp//ccSglu5P.s: line 41: 1252-191 Only .llong should be used for relocatable expressions.
/tmp//ccSglu5P.s: line 86: 1252-191 Only .llong should be used for relocatable expressions.
/tmp//ccSglu5P.s: line 125: 1252-191 Only .llong should be used for relocatable expressions.
/tmp//ccSglu5P.s: line 172: 1252-191 Only .llong should be used for relocatable expressions.
make: 1254-004 The error code from the last command is 1.

Open in new window

But its running on Linux but on AIX where I have gcc version 4.0.0 installed its returnng errors and the I/O benchmarks you suggested none of them compile, How can I fix the same. Please help...
LVL 27

Accepted Solution

skullnobrains earned 250 total points
ID: 39932753
you can use a web benchmark tool such as apachebench, httperf, or the apparently better curl-loader (never used the latter but it seems to have a crazy wealth of functionalities including benchmarking random URLs)

it is fairly easy to write your own tool as well even in a shell script. just make sure you actually benchmark the server and not the network bandwidth or the machine that runs the benchmarking tool

with this approach there is no need to run the tool locally


another nice approach would be to select a few cpu-intensive or io intensive java processes and just run for example 100 or them in parallel 100 times each

something like this should do
yes  | head -n 10000 | xargs -P 100 command_to_run
LVL 62

Expert Comment

ID: 39940558
LVL 25

Assisted Solution

madunix earned 250 total points
ID: 40041419
The following is a list of tools available on the internet for UNIX/Linux:

aio-stress ---- AIO benchmark tool
bandwidth ---- a memory bandwidth benchmark
bonnie ---- Filesystem benchmark tool
bonnie++ ---- Filesystem and disk benchmark & burn-in suite
dbench ---- Filesystem load benchmarking tool
dnsperf ---- Benchmarking authorative and recursing DNS servers
filebench ---- A model based file system workload generator
fio ---- I/O benchmark and stress/hardware verification tool
fs_mark ---- Benchmark synchronous/async file creation
httperf ---- Web server benchmark
interbench ---- Interactivity benchmark tool
ioblazer ---- Multi-platform storage stack micro-benchmark
iozone ---- filesystem benchmark tool
iperf ---- Tool for measuring TCP and UDP bandwidth performance
iperf3 ---- Measurement tool for TCP/UDP bandwidth performance
kcbench ---- Kernel compile benchmark
lmbench ----Suite of simple, portable benchmarks
netperf ---- Performance testing tool for TCP/UDP
netpipe ---- Protocol independent performance tool
nfsometer ---- NFS Performance Framework Tool
phoronix-test-suite ---- An Automated, Open-Source Testing Framework
seeker ---- Tool to measure disk performance (random access time)
siege ---- HTTP regression testing and benchmarking utility
spew ---- I/O performance measurement and load generation tool
stress ---- A tool to put given subsystems under a specified load
sysbench ---- System performance benchmark
tiobench ---- Threaded IO benchmarking utility
ttcp ---- tool to do memory to memory performance measurements with TCP/IP
unixbench ---- Byte's UNIX Benchmarks
wbox ---- Command line tool to test HTTP performance of Web servers and Web applications

Featured Post

Free Tool: ZipGrep

ZipGrep is a utility that can list and search zip (.war, .ear, .jar, etc) archives for text patterns, without the need to extract the archive's contents.

One of a set of tools we're offering as a way to say thank you for being a part of the community.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Suggested Solutions

Title # Comments Views Activity
AIX check for filesystems not mounted but mount = true 4 38
unix example issues 18 106
Best way to split and output to csv in bash 2 75
What does Windows SKU stand for? 7 28
Many people tend to confuse the function of a virus with the one of adware, this misunderstanding of the basic of what each software is and how it operates causes users and organizations to take the wrong security measures that would protect them ag…
Every server (virtual or physical) needs a console: and the console can be provided through hardware directly connected, software for remote connections, local connections, through a KVM, etc. This document explains the different types of consol…
Learn how to get help with Linux/Unix bash shell commands. Use help to read help documents for built in bash shell commands.: Use man to interface with the online reference manuals for shell commands.: Use man to search man pages for unknown command…
Learn how to find files with the shell using the find and locate commands. Use locate to find a needle in a haystack.: With locate, check if the file still exists.: Use find to get the actual location of the file.:

685 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question