ProHoster > Blog > İdarə > Linux-da serverlər üçün meyarlar: açıq mənbə alətlərinin seçimi
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.
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.
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.
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 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:
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.
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: