ProHoster > Блог > адміністрування > Як оцінити продуктивність СГД на Linux: бенчмаркінг за допомогою відкритих інструментів
Як оцінити продуктивність СГД на Linux: бенчмаркінг за допомогою відкритих інструментів
В Минулого разу ми розповідали про інструменти з відкритим вихідним кодом для оцінки продуктивності процесорів та пам'яті. Сьогодні говоримо про бенчмарки для файлових систем та систем зберігання даних на Linux – Interbench, Fio, Hdparm, S та Bonnie.
Fio (розшифровується як Flexible I/O Tester) створює потоки вводу/виводу даних із диска, щоб оцінити продуктивність файлової системи Linux. Утиліту можна запустити і на Windows - потрібно встановити інтерфейс командного рядка Cygwin. Посібник з налаштування є в репозиторії fio на GitHub.
Автор fio - Єнс Аксбо (Jens Axboe), відповідальний за підсистему IO в Linux та розробник утиліти blktrace для трасування операцій введення/виведення. Він створив fio, тому що втомився писати програми для тестування специфічного навантаження вручну.
Утиліта вважатиме IOPS та пропускну спроможність системи, а також дозволить оцінити глибину черги операцій введення/виводу. Утиліта працює зі спеціальними файлами (розширення .fio), в яких прописуються налаштування та умови тесту. Варіантів тестів кілька, наприклад, є довільний запис, читання та перезапис. Ось приклад вмісту файлу для першого випадку:
Утиліту написав канадський розробник Марк Лорд (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.
Всі бенчмарки являють собою bash-скрипти, оцінюють продуктивність системи зберігання даних - пропускну здатність, латентність, роботу планувальників. Наприклад, бенчмарк throughput-sync.sh «бомбардує» СГД запитами на читання чи запис (у разі використовується вже згадана утиліта fio). Ось код цього скрипту.
Інший скрипт - comm_startup_lat.sh - вимірює затримку читання даних з диска при холодному кеші (коли в ньому немає необхідних даних). Код також можна знайти в репозиторії.
Утиліта оцінки продуктивності файлової системи, розроблена 1989 року. Її автором виступив інженер Тім Брей (Tim Bray). За допомогою Bonnie він планував оптимізувати роботу обчислювальних систем, задіяних у проекті New Oxford English Dictionary в Університеті Ватерлоо.
Бонні виконує довільне читання та запис даних на диск. Після утиліта показує такі параметри, як кількість оброблених байтів за CPU-секунду, а також рівень завантаження процесора у відсотках. Вихідний код бенчмарку можна знайти на Google Code.
На основі Bonnie побудовано інший комплекс інструментів для тестування жорсткого диска. Бонні++ (Написаний на C++, замість C). У ньому наведено додаткові бенчмарки-інструменти. Наприклад, zcav для оцінки продуктивності різних зон HDD. Також Bonnie++ підходить для тестування поштових серверів та серверів баз даних.
Утиліту розробив Кон Колівас (Con Kolivas), австралійський анестезіолог, який відомий своїм внеском у розробку ядра Linux та роботою над «справедливим планувальником процесора». Interbench допомагає налаштувати параметри планувальника вводу/виводу та файлової системи.
Interbench емулює поведінку планувальника CPU під час виконання інтерактивних завдань. Цими інтерактивними завданнями можуть бути робота зі звуком та відео, запуск комп'ютерних ігор або просте перетягування діалогового вікна в операційній системі.