Benchmarks for Linux servers: 5 open tools

Today we will talk about open tools for assessing the performance of processors, memory, file systems, and 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.

Benchmarks for Linux servers: 5 open tools
/ Unsplash / Veri Ivanova

Sysbench

This is a utility for load testing MySQL servers, based on the LuaJIT project, which develops a virtual machine for the Lua programming language. The tool's author is programmer and MySQL expert Alexey Kopytov. The project started as a hobby but gained recognition in the community over time. Today, sysbench is used by large universities and IT organizations such as IEEE.

During the SECR-2017 conference (the recording of the speech is available on YouTube) Alexey explained that sysbench allows evaluating database performance when migrating to new hardware, upgrading database versions, or experiencing sharp changes in the number of requests. Generally, the command syntax for conducting a test looks as follows:

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

This command defines the type (cpu, memory, fileio) and parameters of the load test (number of threads, number of requests, transaction processing speed). Overall, the tool can handle millions of events per second. More about the architecture and internal workings of sysbench was discussed by Alexey Kopytov in one of the episodes of the Software Development Podcast.

UnixBench

A suite of tools for assessing the performance of Unix systems. It was introduced by engineers from Monash University in 1983. Since then, many people have maintained the tool, such as the authors of the microcomputer technology magazine Byte Magazine and LKML participant David Niemi. The next version of the tool is being developed by Anthony VoellmAnthony Voellm) from Microsoft.

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

Available tests include Whetstone, which describes floating-point operation efficiency, File Copy, assessing data copying speed, and several 2D and 3D benchmarks. A complete list of tests can be found in GitHub repository. Many of them are used to assess the performance of cloud virtual machines.

Phoronix Test Suite

This test suite was developed by the authors of the Phoronix website, which publishes news about GNU/Linux distributions. The Test Suite was first introduced in 2008 — it included 23 different tests at that time. Later, the developers launched the cloud service OpenBenchmarking.org, where users could publish their own test scripts. Today, it features around 60 benchmark sets, including those related to machine learning and ray-tracing technology.

Specialized script sets allow testing of individual system components. They can be used to evaluate kernel compilation time, video file encoding speed, compression speed of archivers, etc. To run the tests, simply type the corresponding command in the console. For example, this command initiates CPU performance assessment:

phoronix-test-suite benchmark smallpt

During the testing, the Test Suite automatically monitors the hardware status (CPU temperature and fan speed), protecting the system from overheating.

Benchmarks for Linux servers: 5 open tools
/ Unsplash / Jason Chen

Vdbench

A tool for generating I/O load on storage systems, developed by Oracle. It helps assess the performance and integrity of storage systems (we have prepared a brief guide).

on how to calculate the theoretical performance of a storage system). The solution works as follows: a program SWAT (Sun StorageTek Workload Analysis Tool) is run on a real system, which creates a dump of all disk accesses over a certain period. Timestamps, operation type, address, and block size are recorded. Then, using the dump file, vdbench emulates the load on any other system.

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

IOzone

A console utility for file system performance evaluation. It determines the speed of reading, writing, and rewriting files. Dozens of programmers participated in the development of the tool, but its first version was authored by is considered to be engineer William Norcott. The development was supported by companies such as Apple, NetApp, and iXsystems.

To manage streams and their synchronization during testing, the tool uses the standard POSIX Threads.Upon completion of its work, IOzone produces a report with the results either in text format or as a spreadsheet (Excel). The tool also includes a script, gengnuplot.sh, which constructs a three-dimensional graph from the table data. Examples of such graphs can be found in the tool documentation (pp. 11–17).

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

Additional reading from our blogs and social media:

Benchmarks for Linux servers: 5 open tools A bug in Linux 5.1 led to data loss — a corrective patch has already been released.
Benchmarks for Linux servers: 5 open tools It is believed that the DANE technology for browsers has failed

Benchmarks for Linux servers: 5 open tools Why is monitoring necessary?
Benchmarks for Linux servers: 5 open tools File backup: how to prepare for data loss
Benchmarks for Linux servers: 5 open tools How to migrate a system hard drive to a virtual machine?

Benchmarks for Linux servers: 5 open tools Everyone is talking about data leaks — how can an IaaS provider help?
Benchmarks for Linux servers: 5 open tools A quick guide: how digital signatures work.
Benchmarks for Linux servers: 5 open tools Reference: how the personal data law works.

Source: habr.com

Buy reliable website hosting with DDoS protection, VPS VDS servers 🔥 Buy reliable website hosting with DDoS protection, VPS VDS servers | ProHoster