Linux-da serverlər üçün meyarlar: açıq mənbə alətlərinin seçimi

Linux maşınlarında CPU performansını qiymətləndirmək üçün alətlər haqqında danışmağa davam edirik. Bu gün materialda: temci, uarch-bench, likwid, perf-tools və llvm-mca.

Daha çox göstəricilər:

Linux-da serverlər üçün meyarlar: açıq mənbə alətlərinin seçimi
Фото - Lucas Blazek - Sıçrama

temci

Bu, iki proqramın icra müddətini qiymətləndirmək üçün bir vasitədir. Əslində, bu, iki tətbiqin icra müddətini müqayisə etməyə imkan verir. Yardım proqramı 2016-cı ildə bakalavr dissertasiyasının bir hissəsi kimi inkişaf etdirən alman tələbə Johannes Bechberger tərəfindən hazırlanmışdır. bu gün alət yayılır GNU General Public License ilə lisenziyalaşdırılıb.

Yohannes kompüter sisteminin işini idarə olunan mühitdə ölçməyə imkan verən alət yaratmaq istəyirdi. Buna görə də, temci-nin əsas xüsusiyyətlərindən biri test mühitini fərdiləşdirmək imkanıdır. Misal üçün, olar: CPU tezliyinə nəzarət menecerinin parametrlərini dəyişdirin, söndürün hiper iş parçacığı və L1 və L2 keşləri, Intel prosessorlarında turbo rejimini söndürün və s. Müqayisə üçün temci alətlərdən istifadə edir. vaxt, perf_stat и alma.

Birinci halda yardım proqramı belə görünür:

# 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

Bençmarkinq nəticələrinə əsasən sistem yaradır rahat hesabat temci oxşar həllərdən fərqləndirən diaqramlar, cədvəllər və qrafiklərlə.

Təmcinin çatışmazlıqlarından onun “gəncliyi” seçilir. Buna görə də o hamısını dəstəkləmir hardware və proqram təminatı konfiqurasiyaları. Məsələn, macOS altında işləmək çətindir və bəzi funksiyalar ARM prosessoru olan sistemdə mövcud deyil. Gələcəkdə vəziyyət dəyişə bilər, çünki müəllif layihəni fəal şəkildə inkişaf etdirir və GitHub-da ulduzların sayı getdikcə artır - bir müddət əvvəl temci hətta şərhlərdə müzakirə olunur Hacker News-da.

skamya

Mühəndis Travis Downes tərəfindən hazırlanmış aşağı səviyyəli CPU funksiyalarının performansını qiymətləndirmək üçün bir yardım proqramı (Travis Downs). Bu yaxınlarda o, bloq yazır Performans məsələləri GitHub Səhifələrində, müqayisə alətləri və onlarla əlaqəli digər şeylər haqqında danışır. Ümumiyyətlə, uarch-bench yalnız populyarlıq qazanmağa başlayır, lakin artıq tez-tez qeyd edildi Hacker News sakinləri tematik mövzularda müqayisə aləti kimi.

Uarch-bench yaddaş performansını, paralel məlumat yükləmə sürətini və təmizləmə işini qiymətləndirməyə imkan verir YMM qeydiyyatı. Proqram tərəfindən yaradılan müqayisə nəticələrinin necə göründüyünü tapmaq olar rəsmi depoda səhifənin aşağı hissəsində.

Qeyd etmək lazımdır ki, uarch-bench, temci kimi, ayırır Test nəticələrinin ardıcıl olması üçün Intel Turbo Boost xüsusiyyəti (yük altında prosessorun saat sürətini avtomatik artırır).

Bu günə qədər layihə inkişafın ilkin mərhələsindədir, ona görə də uarch-bench-də ətraflı sənədlər yoxdur və işində səhvlər baş verə bilər - məsələn, çətinlikləri məlumdur Ryzen üzərində işləyir. Yalnız x86 arxitekturaları üçün ölçülər də dəstəklənir. Müəllif gələcəkdə daha çox funksionallıq əlavə etməyi vəd edir və sizi inkişafa qoşulmağa dəvət edir.

likvid

Bu, Intel, AMD və ARMv8 prosessorları olan Linux maşınlarının işini qiymətləndirmək üçün alətlər toplusudur. 2017-ci ildə Almaniya Federal Təhsil və Araşdırma Nazirliyinin himayəsi altında yaradılıb və açıq mənbəyə köçürülüb.

Likwid alətləri arasında RAPL registrlərindən sistemin istehlak etdiyi enerji haqqında məlumatları əks etdirən likwid-powermeter, həmçinin prosessor tezliyinə nəzarət etməyə imkan verən likwid-setFrequencies-i ayırd edə bilərik. Tam siyahı üçün, edə bilərsiniz depoda tapın.

Alət HPC tədqiqat mühəndisləri tərəfindən istifadə olunur. Məsələn, likwid ilə işlər Almaniyanın Erlangen-Nürnberq Universitetinin Regional Hesablama Mərkəzindən (RRZE) bir qrup mütəxəssis. O, həmçinin bu alətlər dəstinin hazırlanmasında fəal iştirak edir.

Linux-da serverlər üçün meyarlar: açıq mənbə alətlərinin seçimi
Фото - Clem Onojeghuo - Sıçrama

mükəmməl alətlər

Linux serverlərinin performansını təhlil etmək üçün bu alət təqdim etdi Brendan Gregg. O, tərtibatçılardan biridir DTrace - real vaxt rejimində proqramların sazlanması üçün dinamik izləmə çərçivəsi.

Perf-tools perf_events və ftrace kernel alt sistemlərinə əsaslanır. Onların yardım proqramları sizə I/O gecikməsini (iosnoop) təhlil etməyə, sistem çağırış arqumentlərini izləməyə (unccount, funcslower, funcgraph və functrace) və fayl keşinin hit statistikasını (cachestat) toplamağa imkan verir. Sonuncu halda, əmr belə görünür:

# ./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

Alət ətrafında kifayət qədər böyük bir cəmiyyət formalaşmışdır (GitHub-da demək olar ki, 6k ulduz). Məsələn, perf alətlərindən fəal istifadə edən şirkətlər var Netflix. Lakin alət yekunlaşdırılır və dəyişdirilir (baxmayaraq ki, yeniləmələr son vaxtlar olduqca nadir hallarda buraxılır). Buna görə də, onun işində səhvlər baş verə bilər - müəllif yazır ki, bəzən perf-tools kernel panikasına səbəb olur.

llvm-mca

Maşın kodunun müxtəlif CPU-larda nə qədər hesablama resurslarına ehtiyac duyacağını proqnozlaşdıran bir yardım proqramı. O qiymətləndirir Dövr Başına Təlimatlar (IPC) və proqramın yaratdığı hardware yükü.

llvm-mca layihə çərçivəsində 2018-ci ildə təqdim edilib LLVM, proqramların təhlili, dəyişdirilməsi və optimallaşdırılması üçün universal sistem hazırlayır. Məlumdur ki, llvm-mca müəllifləri proqram təminatının performans analizi həllindən ilham almışlar Intel-dən IACA və ona alternativ yaratmağa çalışdı. Və istifadəçilərə görə, alətin çıxışı (onların işarələnməsi və miqdarı) həqiqətən IACA-ya bənzəyir - bir nümunə burada tapa bilərsiniz. Bununla belə, llvm-mca yalnız qəbul edir AT&T sintaksisi, buna görə də onunla işləmək üçün çox güman ki, çeviricilərdən istifadə etməli olacaqsınız.

Bloqlarımızda və sosial şəbəkələrdə nələr haqqında yazırıq:

Linux-da serverlər üçün meyarlar: açıq mənbə alətlərinin seçimi "Mat. Wall Street Modeli" və ya Bulud xərclərini necə optimallaşdırmaq olar

Linux-da serverlər üçün meyarlar: açıq mənbə alətlərinin seçimi Linux sisteminizi necə qorumaq olar: 10 məsləhət
Linux-da serverlər üçün meyarlar: açıq mənbə alətlərinin seçimi Riskin minimuma endirilməsi: məlumatlarınızı necə itirməmək olar

Linux-da serverlər üçün meyarlar: açıq mənbə alətlərinin seçimi Artıq sistem idarəçiliyi ilə məşğul olan və ya yenicə başlamağı planlaşdıranlar üçün kitablar
Linux-da serverlər üçün meyarlar: açıq mənbə alətlərinin seçimi Seçim: beş kitab və bir şəbəkə kursu

Linux-da serverlər üçün meyarlar: açıq mənbə alətlərinin seçimiBiz 1cloud.ru saytında pulsuz xidmət təklif edirik "DNS hostinqi". DNS qeydlərini bizimlə tək şəxsi hesabda idarə edə bilərsiniz.

Mənbə: www.habr.com

Добавить комментарий