Linux серверлеріне арналған эталондар: ашық құралдар таңдауы

Біз Linux машиналарында CPU өнімділігін бағалау құралдары туралы айтуды жалғастырамыз. Бүгін материалда: temci, uarch-bench, likwid, perf-tools және llvm-mca.

Қосымша көрсеткіштер:

Linux серверлеріне арналған эталондар: ашық құралдар таңдауы
Фото - Лукас Блажек - Шығу

temci

Бұл екі бағдарламаның орындалу уақытын бағалауға арналған құрал. Негізінде ол екі қолданбаның орындалу уақытын салыстыруға мүмкіндік береді. Утилитаның авторы Германиядан келген студент Йоханнес Бехбергер болды, ол оны 2016 жылы бакалаврлық диссертациясының бөлігі ретінде әзірледі. Бүгін - бұл құрал таралады GNU General Public License бойынша лицензияланған.

Йоханнес басқарылатын ортада есептеу жүйесінің өнімділігін өлшеуге мүмкіндік беретін құрал жасағысы келді. Сондықтан temci негізгі ерекшеліктерінің бірі сынақ ортасын орнату мүмкіндігі болып табылады. Мысалы, болады: процессор жиілігін реттеуші параметрлерін өзгерту, өшіру гипер-ағынды және L1 және L2 кэштерін, Intel процессорларында турбо режимін өшіріңіз, т.б.. Салыстырмалы тексеру үшін temci құралдарды пайдаланады. уақыт, perf_stat и алу.

Бірінші жағдайда утилита осылай көрінеді:

# compare the run times of two programs, running them each 20 times
> temci short exec "sleep 0.1" "sleep 0.2" --runs 20
Benchmark 20 times                [####################################]  100%
Report for single runs
sleep 0.1            (   20 single benchmarks)
     avg_mem_usage mean =           0.000, deviation =   0.0
     avg_res_set   mean =           0.000, deviation =   0.0
     etime         mean =      100.00000m, deviation = 0.00000%
     max_res_set   mean =         2.1800k, deviation = 3.86455%
     stime         mean =           0.000, deviation =   0.0
     utime         mean =           0.000, deviation =   0.0

sleep 0.2            (   20 single benchmarks)
     avg_mem_usage mean =           0.000, deviation =   0.0
     avg_res_set   mean =           0.000, deviation =   0.0
     etime         mean =      200.00000m, deviation = 0.00000%
     max_res_set   mean =         2.1968k, deviation = 3.82530%
     stime         mean =           0.000, deviation =   0.0
     utime         mean =           0.000, deviation =   0.0

Бенчмаркинг нәтижелерінің негізінде жүйе жасайды ыңғайлы есеп temci ұқсас шешімдерден ерекшеленетін диаграммалармен, кестелермен және графиктермен.

Темцидің кемшіліктерінің ішінде оның «жастығы» ерекше көзге түседі. Осыған байланысты ол барлығына қолдау көрсетілмейді аппараттық және бағдарламалық құрал конфигурациялары. Мысалы, оны macOS жүйесінде іске қосу қиын, ал кейбір мүмкіндіктер ARM негізіндегі жүйеде қол жетімді емес. Болашақта жағдай өзгеруі мүмкін, өйткені автор жобаны белсенді түрде дамытып жатыр, ал GitHub-тағы жұлдыздар саны бірте-бірте артып келеді - жақын арада temci тіпті. түсініктемелерде талқыланды Hacker News сайтында.

скамейка

Инженер Травис Даунс (Тревис Даунс). Жақында ол блог жүргізеді Өнімділік мәселелері GitHub беттерінде, онда салыстыру құралдары және басқа да қатысты нәрселер туралы айтылады. Жалпы, uarch-bench енді ғана танымал бола бастады, бірақ ол қазірдің өзінде кең таралған аталған Hacker News тұрғындары салыстыруға арналған құрал ретінде тақырыптық ағындардағы.

Uarch-bench жад өнімділігін, деректерді параллель жүктеу жылдамдығын және тазалау жұмыстарын бағалауға мүмкіндік береді YMM тіркеулері. Бағдарлама арқылы жасалған салыстыру нәтижелері қандай болатынын табуға болады ресми репозиторийде беттің төменгі жағында.

Айта кету керек, uarch-стенд, temci сияқты, ажыратады Сынақ нәтижелері дәйекті болу үшін Intel Turbo Boost функциясы (жүктеме кезінде процессордың сағат жылдамдығын автоматты түрде арттырады).

Әзірге жоба әзірлеудің бастапқы сатысында, сондықтан uarch-bench-те егжей-тегжейлі құжаттама жоқ және оның жұмысында қателер болуы мүмкін - мысалы, қиындықтары белгілі Ryzen жүйесінде іске қосу арқылы. Сондай-ақ, тек x86 архитектурасына арналған эталондарға қолдау көрсетіледі. Автор болашақта қосымша функционалдылықты қосуға уәде береді және сізді әзірлеуге қосылуға шақырады.

ликвид

Бұл Intel, AMD және ARMv8 процессорлары бар Linux машиналарының өнімділігін бағалауға арналған құралдар жиынтығы. Ол 2017 жылы Германияның Федералдық білім және зерттеулер министрлігінің қамқорлығымен құрылды және ашық дереккөзге шығарылды.

Likwid құралдарының ішінен RAPL регистрлерінен жүйе тұтынатын қуат туралы ақпаратты көрсететін likwid-powermeter, сондай-ақ процессор жиілігін басқаруға мүмкіндік беретін likwid-setFrequencies бөлектей аламыз. Толық тізімді көре аласыз репозиторийден табыңыз.

Құралды HPC зерттеуімен айналысатын инженерлер пайдаланады. Мысалы, likwid арқылы жұмыс істейді Германиядағы Эрланген-Нюрнберг университетінің (RRZE) Аймақтық есептеу орталығының мамандары тобы. Ол сондай-ақ осы құралдар жинағын әзірлеуге белсенді қатысады.

Linux серверлеріне арналған эталондар: ашық құралдар таңдауы
Фото - Клем Оножегуо - Шығу

perf-құралдар

Бұл Linux серверлерінің өнімділігін талдауға арналған құрал енгізілді Брендан Грегг. Ол әзірлеушілердің бірі DTrace — нақты уақыт режимінде қолданбаларды жөндеуге арналған динамикалық бақылау жүйесі.

perf-құралдар perf_events және ftrace ядросының ішкі жүйелеріне негізделген. Олардың утилиталары енгізу/шығару кідірісін (iosnoop) талдауға, жүйелік шақыру аргументтерін қадағалауға (unccount, funcslower, funcgraph және functrace) және файл кэшінде (кэштат) «хиттер» статистикасын жинауға мүмкіндік береді. Соңғы жағдайда пәрмен келесідей болады:

# ./cachestat -t
Counting cache functions... Output every 1 seconds.
TIME HITS MISSES DIRTIES RATIO BUFFERS_MB CACHE_MB
08:28:57 415 0 0 100.0% 1 191
08:28:58 411 0 0 100.0% 1 191
08:28:59 362 97 0 78.9% 0 8
08:29:00 411 0 0 100.0% 0 9

Құралдың айналасында айтарлықтай үлкен қауымдастық қалыптасты (GitHub сайтында 6 мыңға жуық жұлдыз). Мысалы, перф-құралдарын белсенді түрде қолданатын компаниялар бар Netflix. Бірақ құрал одан әрі әзірленуде және өзгертілуде (бірақ жаңартулар соңғы уақытта өте сирек шығарылды). Сондықтан оның жұмысында қателер болуы мүмкін - автор кейде perf-құралдар ядроның дүрбелеңін тудыратынын жазады.

llvm-mca

Түрлі процессорларда машина коды қанша есептеу ресурстарын қажет ететінін болжайтын утилита. Ол бағалайды Әр цикл бойынша нұсқаулар (IPC) және белгілі бір қолданба жасайтын аппараттық құралдың жүктемесі.

llvm-mca 2018 жылы жоба аясында ұсынылды LLVM, ол бағдарламаларды талдаудың, түрлендірудің және оңтайландырудың әмбебап жүйесін жасауда. llvm-mca авторлары бағдарламалық қамтамасыз етудің өнімділігін талдауға арналған шешімнен шабыттанғаны белгілі. Intel компаниясынан IACA және балама жасауға ұмтылды. Пайдаланушылардың пікірінше, құралдың шығуы (олардың орналасуы мен саны) шынымен IACA-ға ұқсайды - мысал мына жерден табуға болады. Дегенмен, llvm-mca тек қабылдайды AT&T синтаксисі, сондықтан онымен жұмыс істеу үшін түрлендіргіштерді пайдалану керек болады.

Блогтарымызда және әлеуметтік желілерде не жазамыз:

Linux серверлеріне арналған эталондар: ашық құралдар таңдауы «Мат. Уолл-стрит үлгісі» немесе бұлттық шығындарды қалай оңтайландыру керек

Linux серверлеріне арналған эталондар: ашық құралдар таңдауы Linux жүйесін қалай қорғауға болады: 10 кеңес
Linux серверлеріне арналған эталондар: ашық құралдар таңдауы Тәуекелді азайту: деректеріңізді қалай жоғалтпауға болады

Linux серверлеріне арналған эталондар: ашық құралдар таңдауы Жүйені әкімшілендірумен айналысқан немесе енді бастауды жоспарлап жүргендерге арналған кітаптар
Linux серверлеріне арналған эталондар: ашық құралдар таңдауы Таңдау: бес кітап және желі бойынша бір курс

Linux серверлеріне арналған эталондар: ашық құралдар таңдауыБіз 1cloud.ru сайтында тегін қызмет ұсынамыз.DNS хостингі" DNS жазбаларын бір жеке тіркелгіде басқаруға болады.

Ақпарат көзі: www.habr.com

пікір қалдыру