How to evaluate the performance of a Linux server: open benchmarking tools

We are 1cloud.ru prepared a selection of tools and scripts for evaluating the performance of processors, storage systems and memory on Linux machines: Iometer, DD, vpsbench, HammerDB and 7-Zip.

Our other selections with benchmarks:

How to evaluate the performance of a Linux server: open benchmarking tools
A photo - Bureau of Land Management Alaska β€” CC BY

Iometer

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

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

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

Despite the fact that the last stable version of the tool was released in 2014, it is still used in Broadcom ΠΈ Dell. However, the age of the system still affects. First, its interface obsolete 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 by MIT licenses. 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, the frequency of the processor, the amount of memory involved. To evaluate the performance of vpsbench disks 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 uses many cloud providers and IT companies.

HammerDB extension

One of the most popular open benchmarks for database load testing. The tool is supported by a non-profit organization TPC β€” Transaction Processing Performance Council. Its goal 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. The load can be both transactional and analytical operations. Supports: Oracle Database, SQL Server, IBM Db2, MySQL, MariaDB, PostgreSQL and Redis.

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

How to evaluate the performance of a Linux server: open benchmarking tools
A photo - lost place β€” CC BY

7-Zip

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

7z b -mmt1 -md26

The program will provide the result in MIPS (million instructions per second) format, which can be called a disadvantage. 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

Command line tool that converts and copies files. But it can be used to conduct simple I / O tests on storage systems. Runs out of the box on almost any GNU/Linux system.

On the wiki page detained command for evaluating disk performance when sequentially writing 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 D.D. can be used as a simple CPU benchmark. True, this will require an additional program that requires resource-intensive calculations. For example, a utility for calculating hash sums md5sum.

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

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

What we write about on our blogs and social networks:

How to evaluate the performance of a Linux server: open benchmarking tools Research: Linux is still the most popular OS in the cloud
How to evaluate the performance of a Linux server: open benchmarking tools The Open Invention Network has more than three thousand licensees - what does this mean for open source software

How to evaluate the performance of a Linux server: open benchmarking tools How to secure your Linux system: 10 tips
How to evaluate the performance of a Linux server: open benchmarking tools Risk minimization: how not to lose your data

How to evaluate the performance of a Linux server: open benchmarking tools Books for those who are already involved in system administration or are just planning to start
How to evaluate the performance of a Linux server: open benchmarking tools Unusual domain zones for your project

Source: habr.com

Add a comment