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 пабудаваны іншы комплекс прылад для тэставання цвёрдай кружэлкі. Bonnie++ (напісаны на C++, замест C). У ім прыведзены дадатковыя бенчмарк-інструменты. Напрыклад, zcav для адзнакі прадукцыйнасці розных зон HDD. Таксама Bonnie++ падыходзіць для тэсціравання паштовых сервераў і сервераў баз дадзеных.
Утыліту распрацаваў Кон Калівас (Con Kolivas), аўстралійскі анестэзіёлаг, які вядомы сваім укладам у распрацоўку ядра Linux і працай надсправядлівым планавальнікам працэсара». Interbench дапамагае наладзіць параметры планавальніка ўводу/высновы і файлавай сістэмы.
Interbench эмулюе паводзіны планавальніка CPU пры выкананні інтэрактыўных задач. Гэтымі інтэрактыўнымі задачамі могуць выступаць праца з гукам і відэа, запуск кампутарных гульняў ці простае перацягванне дыялогавага акна ў аперацыйнай сістэме.