How to evaluate storage performance on Linux: Benchmarking with open tools

Π’ last time we talked about open source tools for evaluating processor and memory performance. Today we are talking about benchmarks for file systems and data storage systems on Linux - Interbench, Fio, Hdparm, S and Bonnie.

How to evaluate storage performance on Linux: Benchmarking with open tools
A photo - Daniele Levis Pelusi β€” unsplash

Thread

Fio (stands for Flexible I/O Tester) creates disk I/O streams to evaluate the performance of a Linux file system. The utility can also be run on Windows - you need to install the command line interface Cygwin. The setup guide is in fio repositories on GitHub.

Author fio - Jens Aksbo (Jens Axboe), responsible for the Linux IO subsystem and utility developer blktrace for tracing I/O operations. He created fio, because I'm tired write programs to test a specific load manually.

The utility will calculate the IOPS and throughput of the system, and will also allow you to estimate the depth of the queue of I / O operations. The utility works with special files (.fio extension), which contain the settings and conditions of the test. There are several test options, for example, there is an arbitrary write, read and overwrite. Here example file contents for the first case:

[global]
	name=fio-rand-read
	filename=fio-rand-read
	rw=randread
	bs=4K
	direct=0
	numjobs=1
	time_based=1
	runtime=900

Today fio is used by large companies - they work with the utility in SUSE, nutanix ΠΈ IBM.

hdparm

The utility was written by Canadian developer Mark Lord back in 2005. She is still supported by the author and is part of many popular distributions. The main purpose of hdparm is to configure drive settings. But the instrument can use for simple benchmarks, such as reading speed. To do this, write the command in the console:

$ sudo hdparm -t /dev/sdb

The system will generate a similar response:

Timing buffered disk reads: 242 MB in 3.01 seconds = 80.30 MB/sec

In terms of storage settings, hdparm allows you to change the amount of cache memory, modify sleep and power options, and securely erase data on the SSD. But how warn ArchLinux experts, inadvertently changing system settings can make data on the drive inaccessible and even damage the drive. Before working with hdparm, it is better to read the manual - just write the man hdparm command in the console.

S

This is a set of benchmarks for evaluating the performance of I / O systems. The authors of the utility were development team from the AlgoDev group, which includes employees of the Italian University of Modena and Reggio Emilia.

All benchmarks are bash scripts, evaluating storage system performance - throughput, latency, schedulers. For example, the throughput-sync.sh benchmark β€œbombards” the storage system with read or write requests (in this case, the already mentioned fio utility is used). Here this script code.

Another script - comm_startup_lat.sh - measures the latency of reading data from disk during a "cold cache" (when there is no necessary data in it). Code also can be found in the repository.

How to evaluate storage performance on Linux: Benchmarking with open tools
A photo - Ague Barros β€” unsplash

Bonnie

File system performance evaluation utility developed in 1989. It was created by engineer Tim Bray. With the help of Bonnie he planned optimize operation of computing systems involved in the project New Oxford English Dictionary at the University of Waterloo.

Bonnie performs Random reading and writing data to disk. After the utility shows parameters such as the number of bytes processed per CPU-second, as well as the level of processor utilization in percent. The benchmark source code can be find on google code.

Based on Bonnie, another set of tools for testing a hard drive is built - Bonnie++ (written in C++ instead of C). It provides additional benchmark tools. For example, zcav to evaluate the performance of different HDD zones. Also Bonnie++ suitable for testing mail servers and database servers.

Interbench

The utility was developed Con Kolivas (Con Kolivas), an Australian anesthetist who is known for his contributions to the development of the Linux kernel and work on "fair cpu scheduler". Interbench helps you configure I/O scheduler and file system settings.

Interbench emulates the behavior of the CPU scheduler when executing interactive tasks. These interactive tasks can be working with sound and video, running computer games, or simply dragging and dropping a dialog box in the operating system.

Source code, examples, and guidelines for customizing the tool can be found at official repository on GitHub.

What we write about in our blogs:

How to evaluate storage performance on Linux: Benchmarking with open tools Benchmarks for Linux servers: 5 open source tools

How to evaluate storage performance on Linux: Benchmarking with open tools File backup: how to insure against data loss
How to evaluate storage performance on Linux: Benchmarking with open tools How to transfer the system hard disk to a virtual machine?
How to evaluate storage performance on Linux: Benchmarking with open tools Training stand for admins: how the cloud can help

How to evaluate storage performance on Linux: Benchmarking with open tools Screening of gadgets at the border: how to act in order not to lose confidential data?
How to evaluate storage performance on Linux: Benchmarking with open tools Snapshots: why you need "snapshots"

Source: habr.com

Add a comment