How to Evaluate the Performance of a Linux Server: Open Tools for Benchmarking

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

Other collections of benchmarks:

How to Evaluate the Performance of a Linux Server: Open Tools for Benchmarking
Photo - Bureau of Land Management Alaska — CC BY

Iometer

This is a benchmark for evaluating the performance of disk and network subsystems. It can work with both a single server and an entire cluster. Iometer was introduced by Intel engineers in 1998. In 2001, the corporation released the source code to a nonprofit organization called Open Source Development Labs (OSDL) under the license Intel Open Source License. Since 2003, the tool has been maintained by a group of enthusiasts — the project is registered on SourceForge.net.

Iometer consists of a load generator, dynamo, and a graphical interface. However, the latter is only available for Windows. As for the generator, it can simulate the load of third-party applications — special test templates are created for this purpose.

Benchmarks show: throughput, operations per second, latency, and CPU 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 in Broadcom and Dell. However, the age of the system does impact performance. Firstly, its interface is outdated and hasn't changed since 1998. Secondly, the tool sometimes produces results that are not entirely accurate on all-flash arrays.

vpsbench

A simple script for assessing VPS performance. It is distributed under the MIT license. Here is an example of its operation, taken from 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, CPU frequency, and amounts of memory used. To assess disk performance, vpsbench a check of the login and password against a database of compromised accounts, issuing a warning if issues are detected (the check is performed using a hash prefix on the user’s side). The check covers a database of over 4 billion compromised accounts that have appeared in data leaks. A warning is also issued when attempting to use trivial passwords such as 'abc123'. A specific setting has been implemented to manage the enabling of Password Checkup in the 'Sync and Google Services' section. performs sequential and random read/write tests. Although the utility is quite old (the last update on GitHub was made about four years ago), its use many cloud providers and IT companies.

HammerDB

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

HammerDB creates a test database schema, populates it with data, and simulates load from multiple virtual users. The load can include both transactional and analytical operations. It 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 in 180 countries worldwide. Among them: Intel, Dell, Lenovo, Red Hat and many others. If you want to explore the utility's capabilities on your own, you can start with official guides.

How to Evaluate the Performance of a Linux Server: Open Tools for Benchmarking
Photo - lost places — CC BY

7-Zip

This archiver has a built-in benchmark for testing processor speed when compressing a specific amount of files. It can also be used to check RAM for errors. The algorithm used for testing is LZMA (Lempel–Ziv–Markov chain Algorithm). It is based on a dictionary compression scheme. For example, to run a benchmark with one thread and a 64-megabyte dictionary, just enter the command:

7z b -mmt1 -md26

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

DDoS

A command-line tool for converting and copying files. However, it can also be used for simple I/O tests on storage systems. It starts on almost any GNU/Linux system out of the box.

The wiki page provides the command for evaluating disk performance during sequential writing 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 you can use serves as a simple CPU benchmark. However, for this, an additional program requiring resource-intensive computations will be needed. For example, a utility for calculating hash sums md5sum.

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

The command above will show how quickly (MB/s) the system processes a long numerical sequence. However, experts say this command is only suitable for a rough performance estimate. It is also important to remember that DD allows for low-level operations on hard drives, so it should be used cautiously to avoid data loss (the name DD is sometimes jokingly interpreted as disk destroyer).

What we write about in our blogs and social media:

How to Evaluate the Performance of a Linux Server: Open Tools for Benchmarking Research: Linux is Still the Most Popular OS in the Cloud
How to Evaluate the Performance of a Linux Server: Open Tools for Benchmarking In the Open Invention Network, there are more than three thousand licensees — what does this mean for open source software?

How to Evaluate the Performance of a Linux Server: Open Tools for Benchmarking What we write about on Habr:
How to Evaluate the Performance of a Linux Server: Open Tools for Benchmarking Risk Minimization: How to Protect Your Data

How to Evaluate the Performance of a Linux Server: Open Tools for Benchmarking Books for Those Who Are Already in System Administration or Just Planning to Start
How to Evaluate the Performance of a Linux Server: Open Tools for Benchmarking Uncommon Domain Zones for Your Project

Source: habr.com

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