How to evaluate Linux server performance: open benchmarking tools

We at 1cloud.ru have prepared a selection of tools and scripts to evaluate the performance of processors, storage and memory on Linux machines: Iometer, DD, vpsbench, HammerDB and 7-Zip.



Our other benchmark collections:







Photos - Bureau of Land Management Alaska - CC BY






Iometer



This is a benchmark for evaluating the performance of disk and network subsystems. Suitable for working with a single server or a whole cluster. Intel engineers introduced the Iometer in 1998. In 2001, the corporation transferred the source code to the nonprofit organization Open Source Development Labs ( OSDL ) under the Intel Open Source License . Since 2003, a group of enthusiasts has been supporting the tool - the project is registered at SourceForge.net.



The Iometer consists of a dynamo load generator and a graphical interface. True, the latter is only available under Windows. As for the generator, it allows you to simulate the load of third-party applications - for this, special test patterns are created.



Benchmarks show: bandwidth, operations per second, latency and processor load. Not only average values ​​are calculated, but also min / max.


Despite the fact that the latest stable version of the tool was released in 2014, it is still used by Broadcom and Dell . However, the age of the system still affects. Firstly, its interface is outdated and has not changed since 1998. Secondly, the tool sometimes displays not quite adequate results on all-flash arrays.






vpsbench



A simple script to evaluate VPS performance. Distributed under the MIT license . Here is an example of his work, given in the official repository on GitHub:



$ bash <(wget --no-check-certificate -O - https://raw.github.com/mgutz/vpsbench/master/vpsbench) CPU model: Intel(R) Core(TM) i7-3770 CPU @ 3.40GHz Number of cores: 4 CPU frequency: 3417.879 MHz Total amount of RAM: 3265 MB Total amount of swap: 1021 MB System uptime: 8:41, I/O speed: 427 MB/s Bzip 25MB: 4.66s Download 100MB file: 1.64MB/s
      
      





The utility displays the number of cores, processor frequency, and the amount of memory used. To evaluate disk performance, vpsbench performs sequential and random read / write. Despite the fact that the utility is quite old (an update on GitHub was made about four years ago), it is used by many cloud providers and IT companies.






Hammerdb



One of the most popular open benchmarks for database load testing. The tool is supported by the non-profit organization TPC - Transaction Processing Performance Council. Its purpose is to develop standards for database benchmarks.



HammerDB creates a test database schema, fills it with data and simulates the load of several virtual users. Both transactional and analytical operations can serve as a load. Supports: Oracle Database, SQL Server, IBM Db2, MySQL, MariaDB, PostgreSQL and Redis.



An extensive community has formed around HammerDB. Utility is used by companies from 180 countries. Among them: Intel , Dell , Lenovo , Red Hat and many others . If you want to explore the features of the utility yourself - you can start with the official guides .








Photo - lost places - CC BY






7-zip



This archiver has a built-in benchmark for testing processor speed when compressing a certain number of files. It is also suitable for checking RAM for errors. For tests, the LZMA algorithm (Lempel – Ziv – Markov chain Algorithm) is used. It is based on a dictionary data compression scheme. For example, to run the benchmark with a single thread and a 64-megabyte dictionary, it is enough to write the command:



 7z b -mmt1 -md26
      
      





The program will provide the result in the MIPS (million instructions per second) format, which can be called a drawback. This parameter is suitable for comparing the performance of processors of the same architecture, but in the case of different architectures, its applicability is limited.






DD



A command line tool that converts and copies files. But it can be used for simple I / O tests on storage systems. Runs out of the box on virtually any GNU / Linux system.



The wiki page contains a command for evaluating disk performance during sequential recording of 1024-byte blocks:



 dd if=/dev/zero bs=1024 count=1000000 of=file_1GB dd if=file_1GB of=/dev/null bs=1024
      
      





It is also worth noting that DD can be used as a simple CPU benchmark. True, this will require an additional program that requires resource-intensive computing. For example, a utility for calculating md5sum hash values.



 dd if=/dev/zero bs=1M count=1024 | md5sum
      
      





The command above will show how fast (MB / s) the system will process a long numerical sequence. Although experts say that this team is only suitable for a rough assessment of performance. It is also important to remember that DD allows low-level operations on hard drives. Therefore, you need to work with the utility carefully so as not to lose some of the data (the name DD is sometimes decoded as a joke, like disk destroyer).






What we write about in our blogs and social networks:



Research: Linux - Still the Most Popular OS in the Cloud

The Open Invention Network has more than three thousand licensees - what does it mean for open source software



Securing your Linux system: 10 tips

Risk minimization: how not to lose your data



Books for those who are already engaged in system administration or are just planning to start

Unusual domain zones for your project



All Articles