Як оцінити продуктивність СГД на Linux: бенчмаркінг за допомогою відкритих інструментів

В Минулого разу ми розповідали про інструменти з відкритим вихідним кодом для оцінки продуктивності процесорів та пам'яті. Сьогодні говоримо про бенчмарки для файлових систем та систем зберігання даних на Linux – Interbench, Fio, Hdparm, S та Bonnie.

Як оцінити продуктивність СГД на Linux: бенчмаркінг за допомогою відкритих інструментів
фото - Даніеле Левіс Пелузі - Unsplash

Fio

Fio (розшифровується як Flexible I/O Tester) створює потоки вводу/виводу даних із диска, щоб оцінити продуктивність файлової системи Linux. Утиліту можна запустити і на Windows - потрібно встановити інтерфейс командного рядка Cygwin. Посібник з налаштування є в репозиторії fio на GitHub.

Автор fio - Єнс Аксбо (Jens Axboe), відповідальний за підсистему IO в Linux та розробник утиліти blktrace для трасування операцій введення/виведення. Він створив fio, тому що втомився писати програми для тестування специфічного навантаження вручну.

Утиліта вважатиме IOPS та пропускну спроможність системи, а також дозволить оцінити глибину черги операцій введення/виводу. Утиліта працює зі спеціальними файлами (розширення .fio), в яких прописуються налаштування та умови тесту. Варіантів тестів кілька, наприклад, є довільний запис, читання та перезапис. Ось приклад вмісту файлу для першого випадку:

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

Сьогодні fio використовується великими компаніями - з утилітою працюють у SUSE, Нутанікс и IBM.

Hdparm

Утиліту написав канадський розробник Марк Лорд (Mark Lord) у далекому 2005 році. Вона досі підтримується автором та є частиною багатьох популярних дистрибутивів. Головне призначення hdparm – налаштування параметрів накопичувачів. Але інструмент можна використовуватиме проведення простих бенчмарків, наприклад, вимірювання швидкості читання. Для цього потрібно написати в консолі команду:

$ sudo hdparm -t /dev/sdb

Система сформує таку відповідь:

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

Що стосується налаштування накопичувачів, то hdparm дозволяє змінювати обсяг кеш-пам'яті, модифікувати параметри режиму сну та електроживлення, а також безпечно прати дані на SSD. Але як попереджають Спеціалісти з ArchLinux, необережна зміна системних параметрів може зробити дані на диску недоступними і навіть пошкодити накопичувач. Перед роботою з hdparm краще ознайомитися з посібником – достатньо прописати в консолі команду man hdparm.

S

Це набір бенчмарків для оцінки продуктивності систем введення/виводу. Авторами утиліти виступила команда розробників з групи AlgoDev, до якої входять співробітники італійської Університету Модени та Реджо-Емілії.

Всі бенчмарки являють собою bash-скрипти, оцінюють продуктивність системи зберігання даних - пропускну здатність, латентність, роботу планувальників. Наприклад, бенчмарк throughput-sync.sh «бомбардує» СГД запитами на читання чи запис (у разі використовується вже згадана утиліта fio). Ось код цього скрипту.

Інший скрипт - comm_startup_lat.sh - вимірює затримку читання даних з диска при холодному кеші (коли в ньому немає необхідних даних). Код також можна знайти в репозиторії.

Як оцінити продуктивність СГД на Linux: бенчмаркінг за допомогою відкритих інструментів
фото - Аже Баррос - Unsplash

Бонні

Утиліта оцінки продуктивності файлової системи, розроблена 1989 року. Її автором виступив інженер Тім Брей (Tim Bray). За допомогою Bonnie він планував оптимізувати роботу обчислювальних систем, задіяних у проекті New Oxford English Dictionary в Університеті Ватерлоо.

Бонні виконує довільне читання та запис даних на диск. Після утиліта показує такі параметри, як кількість оброблених байтів за CPU-секунду, а також рівень завантаження процесора у відсотках. Вихідний код бенчмарку можна знайти на Google Code.

На основі Bonnie побудовано інший комплекс інструментів для тестування жорсткого диска. Бонні++ (Написаний на C++, замість C). У ньому наведено додаткові бенчмарки-інструменти. Наприклад, zcav для оцінки продуктивності різних зон HDD. Також Bonnie++ підходить для тестування поштових серверів та серверів баз даних.

Interbench

Утиліту розробив Кон Колівас (Con Kolivas), австралійський анестезіолог, який відомий своїм внеском у розробку ядра Linux та роботою над «справедливим планувальником процесора». Interbench допомагає налаштувати параметри планувальника вводу/виводу та файлової системи.

Interbench емулює поведінку планувальника CPU під час виконання інтерактивних завдань. Цими інтерактивними завданнями можуть бути робота зі звуком та відео, запуск комп'ютерних ігор або просте перетягування діалогового вікна в операційній системі.

Вихідний код, приклади та рекомендації щодо налаштування інструменту можна знайти в офіційному репозиторії на GitHub.

Про що ми пишемо у наших блогах:

Як оцінити продуктивність СГД на Linux: бенчмаркінг за допомогою відкритих інструментів Бенчмарки для Linux-серверів: 5 відкритих інструментів

Як оцінити продуктивність СГД на Linux: бенчмаркінг за допомогою відкритих інструментів Резервне копіювання файлів: як підстрахуватися від втрати даних
Як оцінити продуктивність СГД на Linux: бенчмаркінг за допомогою відкритих інструментів Як перенести системний жорсткий диск у віртуальну машину?
Як оцінити продуктивність СГД на Linux: бенчмаркінг за допомогою відкритих інструментів Тренувальний стенд для адмінів: чим допоможе хмара

Як оцінити продуктивність СГД на Linux: бенчмаркінг за допомогою відкритих інструментів Перегляд гаджетів на кордоні: як діяти, щоб не втратити конфіденційні дані?
Як оцінити продуктивність СГД на Linux: бенчмаркінг за допомогою відкритих інструментів Снепшоти: навіщо потрібні «знімки»

Джерело: habr.com

Додати коментар або відгук