📜 ⬆️ ⬇️

Benchmarks for Linux servers: 5 open tools

Today we will talk about open tools for evaluating the performance of processors, memory, file systems and data storage systems.

The list includes utilities offered by GitHub residents and participants of thematic threads on Reddit - Sysbench, UnixBench, Phoronix Test Suite, Vdbench and IOzone.


/ Unsplash / Veri Ivanova
')

Sysbench


This is a load testing utility for MySQL servers based on the LuaJIT project, within which a virtual machine for the Lua language is being developed. The author of the tool is the programmer and MySQL expert Alexey Kopytov. The project began as a hobby, but eventually gained recognition from the community. Today, sysbench is used in their work by large universities and IT organizations like IEEE .

During the SECR-2017 conference (recording of the speech is on YouTube ) Alexey said that sysbench allows evaluating database performance when transferring to new equipment, updating the DBMS version or abruptly changing the number of queries. In general, the command syntax for conducting a test is as follows:

sysbench [options]... [testname] [command] 

This command determines the type (cpu, memory, fileio) and parameters of the load test (the number of threads, the number of requests, the speed of transaction processing). In general, the tool is able to handle millions of events per second. More information about the architecture and internal structure of the sysbench Alexey Kopytov told in one of the issues of the podcast Software Development Podcast .



Unixbench


A set of tools to assess the performance of Unix-systems. He was introduced by engineers from Monash University in 1983. Since then, many people have been supporting the tool, for example, the authors of Byte Magazine, a microcomputer technology magazine, and LKML participant David Niemi. For the release of the next version of the tool meets Anthony Voelm ( Anthony Voellm ) from Microsoft.

UnixBench is a collection of individual tests. They compare the speed of code execution on a machine running Unix with the performance of the reference system, which is SPARCstation 20-61. Based on this comparison, a score is generated that determines performance.

Among the available tests are: Whetstone, which describes the efficiency of floating-point operations, File Copy, which estimates the speed of data copying, and several 2D and 3D benchmarks. The full list of tests can be found in the repository on GitHub . Many of them use to evaluate the performance of virtual machines in the cloud.



Phoronix Test Suite


This set of tests was developed by the authors of the Phoronix web resource, which publishes news about GNU / Linux distributions. For the first time, the Test Suite was introduced in 2008 - then it included 23 different tests. Later, the developers launched the OpenBenchmarking.org cloud service, where users could post their own test scripts. Today, it features about 60 benchmark kits, including those related to machine learning and ray-tracing technology.

Sets of specialized scripts allow you to test individual components of the system. With their help, you can estimate the compilation time of the kernel and the encoding of video files, the compression speed of archivers, etc. To run tests, it is enough to write the appropriate command in the console. For example, this command initiates a CPU performance evaluation:

 phoronix-test-suite benchmark smallpt 

During testing, the Test Suite independently controls the state of the equipment (CPU temperature and fan speed), protecting the system from overheating.




/ Unsplash / Jason Chen



Vdbench


A tool for generating I / O loads on disk systems developed by Oracle. It helps to evaluate the performance and integrity of storage (how to calculate the theoretical performance of the disk system, we have prepared a brief reference ).

The solution works as follows: on a real system, a SWAT program (Sun StorageTek Workload Analysis Tool) is launched, which creates a dump with all disk accesses for a certain period. The time stamp, operation type, address and block size are recorded. Further, using a file with a dump, vdbench emulates the load on any other system.

The list of parameters for managing the utility is in the official Oracle document . The source code of the utility can be found on the company's website .



Iozone


Console utility for assessing the performance of file systems. It determines the speed of reading, writing and rewriting files. Dozens of programmers took part in the development of the tool, but the engineer of its first version is the engineer William Norcott. The development was supported by companies such as Apple, NetApp and iXsystems.

To control and synchronize threads during testing, the tool uses the POSIX Threads standard. Upon completion, IOzone issues a report with the results either in text format or as a spreadsheet (Excel). The tool also includes a gengnuplot.sh script that builds a three-dimensional graph according to the tables. Examples of such graphs can be found in the documentation for the tool ( pp. 11–17 ).

IOzone is available as a test profile in the already mentioned Phoronix Test Suite.



Additional reading from our blogs and social networks:

A bug in Linux 5.1 caused data loss - a corrective patch was already released
There is an opinion: the DANE technology for browsers failed

Why do we need monitoring?
File backup: how to hedge against data loss
How to transfer a system hard drive to a virtual machine?

Everyone is talking about PD leaks - how will the IaaS provider help?
Short educational program: how does the EDS
Background: how does the law on personal data

Source: https://habr.com/ru/post/455834/


All Articles