Benchmarks for Linux servers: 5 open tools

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

    The list includes utilities offered by residents of GitHub and members of thematic threads on Reddit - Sysbench, UnixBench, Phoronix Test Suite, Vdbench and IOzone. / 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 language. The author of the tool is programmer and expert on MySQL Alexey Kopytov. The project began as a hobby, but over time gained community recognition. Today sysbench use large universities and IT organizations like IEEE in their work .

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

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

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



    Unixbench


    A set of tools for evaluating the performance of Unix systems. He was introduced by engineers from Monash University in 1983. Since then, a lot of people have been supporting the tool, for example, Byte Magazine , the author of the microcomputer technology magazine, and David Niemi, a member of LKML. Anthony Voellm from Microsoft is responsible for the release of the next version of the tool .

    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 performance score is generated.

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



    Phoronix Test Suite


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

    Sets of specialized scripts allow testing individual system components. With their help, you can evaluate the compilation time of the kernel and the encoding of video files, the compression speed of archivers, etc. To run the tests, just write the appropriate command in the console. For example, this command initiates an evaluation of CPU performance:

    phoronix-test-suite benchmark smallpt

    During testing, Test Suite independently monitors the condition of the equipment (CPU temperature and cooler speed), protecting the system from overheating.




    / Unsplash / Jason Chen



    Vdbench


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

    The solution works as follows: on a real system, the SWAT program (Sun StorageTek Workload Analysis Tool) is launched, which creates a dump with all disk accesses for a certain period. The time stamp, type of operation, address and data block size are recorded. Next, using the dump file, 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 evaluating file system performance. It determines the speed of reading, writing and overwriting files. Dozens of programmers took part in the development of the tool, but the engineer of its first version is considered to be engineer William Norcott. The development was supported by companies such as Apple, NetApp and iXsystems.

    To control threads and synchronize them during testing, the tool uses the POSIX Threads standard . Upon completion of the work, IOzone issues a report with the results either in text format or in the form of a spreadsheet (Excel). The tool also includes the gengnuplot.sh script, which builds a three-dimensional graph from the data in the tables. Examples of such graphs can be found in the documentation for the instrument ( p. 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 led to data loss - a correction patch has already been released.
    There is an opinion: DANE technology for browsers failed

    Why monitoring?
    File backup: how to be safe from data loss
    How to transfer a system hard drive to a virtual machine?

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

    Also popular now: