Як оцінити продуктивність Linux-сервера: відкриті інструменти для бенчмаркінгу

Ми в 1cloud.ru підготували добірку інструментів та скриптів для оцінки продуктивності процесорів, СГД та пам'яті на Linux-машинах: Iometer, DD, vpsbench, HammerDB та 7-Zip.

Інші наші добірки з бенчмарками:

Як оцінити продуктивність Linux-сервера: відкриті інструменти для бенчмаркінгу
фото - Bureau of Land Management Alaska - CC BY

йометр

Це бенчмарк для оцінки продуктивності дискової та мережевої підсистем. Підходить до роботи як із одним сервером, і цілим кластером. Iometer представили інженери Intel у 1998 році. 2001-го корпорація передала вихідці некомерційної організації Open Source Development Labs (OSDL) за ліцензією Intel Open Source License. З 2003 року підтримкою інструменту займається група ентузіастів – проект зареєстровано SourceForge.net.

Iometer складається з генератора навантаження dynamo та графічного інтерфейсу. Щоправда, останній доступний лише під Windows. Щодо генератора, то він дозволяє імітувати навантаження сторонніх додатків — для цього створюються спеціальні тестові шаблони.

Бенчмарки показують: пропускну здатність, операції за секунду, латентність та завантаження процесора. Обчислюються як середні значення величин, а й мін/макс.

Незважаючи на те, що остання стабільна версія інструменту вийшла в 2014 році, його досі використовують у Broadcom и Dell. Однак вік системи все ж таки позначається. По-перше, її інтерфейс застарів та не змінювався з 1998 року. По-друге, інструмент часом виводить не зовсім адекватні результати масивах all-flash.

vpsbench

Простий скрипт для оцінки продуктивності VPS. Поширюється по ліцензії MIT. Ось приклад його роботи, наведений в офіційному репозиторії на 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

Утиліта відображає кількість ядер, частоту процесора, обсяг задіяної пам'яті. Для оцінки продуктивності дисків vpsbench виконує послідовне та довільне читання/запис. Незважаючи на те, що утиліта досить стара (оновлення на GitHub зроблено близько чотирьох років тому) її використовує безліч хмарних провайдерів та ІТ-компаній.

HammerDB

Один з найпопулярніших відкритих бенчмарків для тестування навантаження баз даних. Підтримкою інструменту займається некомерційна організація TPC - Transaction Processing Performance Council. Її мета – розробка стандартів для БД-бенчмарків.

HammerDB створює тестову схему БД, наповнює її даними та симулює навантаження кількох віртуальних користувачів. Навантаженням можуть бути як транзакційні, і аналітичні операції. Підтримує: Oracle Database, SQL Server, IBM Db2, MySQL, MariaDB, PostgreSQL та Redis.

Навколо HammerDB сформувалося велике ком'юніті. Утиліту використовують компанії зі 180 країн світу. Серед них: Intel, Dell, Lenovo, Red Hat і багато інші. Якщо ви хочете вивчити можливості утиліти самостійно - можете почати з офіційних гайдів.

Як оцінити продуктивність Linux-сервера: відкриті інструменти для бенчмаркінгу
фото - втрачені місця - CC BY

7-Zip

Цей архіватор має вбудований бенчмарк для тестування швидкості процесорів під час стиснення певної кількості файлів. Також він підійде для перевірки RAM помилок. Для тестів використовується алгоритм LZMA (Lempel-Ziv-Markov chain Algorithm). Він заснований на схемі стиснення даних за словником. Наприклад, щоб запустити бенчмарк з одним потоком та 64-мегабайтним словником достатньо прописати команду:

7z b -mmt1 -md26

Результат програма надасть у форматі MIPS (million instructions per second), що можна назвати недоліком. Цей параметр підходить для порівняння швидкодії процесорів однакової архітектури, але у випадку з архітектурами, що розрізняються, його застосовність обмежена.

DD

Інструмент командного рядка, що конвертує та копіює файли. Але його можна використовувати для проведення простих I/O-тестів на СГД. З коробки запускається практично на будь-якій системі GNU/Linux.

На wiki-сторінці наведено команда для оцінки продуктивності диска при послідовному записі 1024-байтних блоків:

dd if=/dev/zero bs=1024 count=1000000 of=file_1GB
dd if=file_1GB of=/dev/null bs=1024

Також варто зазначити, що DD можна використовувати як простий CPU-бенчмарк. Щоправда, для цього знадобиться додаткова програма, яка потребує ресурсомістких обчислень. Наприклад, утиліта для розрахунку значень хеш-сум md5сум.

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

Команда вище покаже, як швидко (Мбайт/с) система обробить довгу числову послідовність. Хоча експерти кажуть, що ця команда підійде лише для грубої оцінки продуктивності. Також важливо пам'ятати, що DD дозволяє проводити низькорівневі операції на жорстких дисках. Тому працювати з утилітою потрібно обережно, щоб не втратити частину даних (назва DD іноді жартома розшифровують, як disk destroyer).

Про що ми пишемо в наших блогах та соціальних мережах:

Як оцінити продуктивність Linux-сервера: відкриті інструменти для бенчмаркінгу Дослідження: Linux - все ще найпопулярніша ОС у хмарі
Як оцінити продуктивність Linux-сервера: відкриті інструменти для бенчмаркінгу В Open Invention Network понад три тисячі ліцензіатів — що це означає для відкритого ПЗ

Як оцінити продуктивність Linux-сервера: відкриті інструменти для бенчмаркінгу Як убезпечити Linux-систему: 10 порад
Як оцінити продуктивність Linux-сервера: відкриті інструменти для бенчмаркінгу Мінімізація ризиків: як не втратити ваші дані

Як оцінити продуктивність Linux-сервера: відкриті інструменти для бенчмаркінгу Книги для тих, хто вже займається системним адмініструванням або лише планує розпочати
Як оцінити продуктивність Linux-сервера: відкриті інструменти для бенчмаркінгу Незвичайні доменні зони для вашого проекту

Джерело: habr.com

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