Tolok ukur pikeun server Linux: pilihan alat anu kabuka

Urang terus ngobrol ngeunaan alat pikeun meunteun kinerja CPU dina mesin Linux. Dinten dina bahan: temci, uarch-bangku, likwid, perf-parabot jeung llvm-mca.

Tolok ukur langkung:

Tolok ukur pikeun server Linux: pilihan alat anu kabuka
--Ото - Lukas Blazek - Unsplash

temci

Ieu mangrupikeun alat pikeun ngitung waktos palaksanaan dua program. Intina, éta ngamungkinkeun anjeun ngabandingkeun waktos palaksanaan dua aplikasi. Panulis utilitas éta mahasiswa ti Jerman, Johannes Bechberger, anu ngembangkeun éta salaku bagian tina tesis sarjana di 2016. alat kiwari disebarkeun ku dilisensikeun dina GNU General Public License.

Johannes hayang nyieun alat nu bakal ngidinan anjeunna pikeun ngukur kinerja sistem komputasi dina lingkungan dikawasa. Ku alatan éta, salah sahiji fitur utama temci nyaéta kamampuhan pikeun nyetél lingkungan test. Salaku conto, bisa: ngarobah setelan manajer frékuénsi CPU, nganonaktipkeun hyper threading jeung L1 jeung L2 caches, mareuman mode turbo dina prosesor Intel, jsb Pikeun benchmarking temci ngagunakeun parabot. waktu, perf_stat и getrusage.

Ieu mangrupikeun utilitas dina kasus anu munggaran:

# 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

Dumasar hasil benchmarking, sistem ngahasilkeun laporan merenah kalawan diagram, tabel sarta grafik, nu distinguishes temci ti solusi sarupa.

Di antara kakurangan temci, "nonoman" na menonjol. Kusabab ieu anjeunna teu sadayana dirojong hardware jeung software konfigurasi. Salaku conto, sesah dijalankeun dina macOS, sareng sababaraha fitur henteu sayogi dina sistem basis ARM. Ka hareupna, kaayaan tiasa robih, sabab panulis aktip ngembangkeun proyék, sareng jumlah béntang dina GitHub laun-laun ningkat - teu lami pisan temci malah dibahas dina komentar on hacker News.

uarch-bangku

Utiliti pikeun ngevaluasi kinerja fungsi CPU tingkat rendah, dikembangkeun ku insinyur Travis Downs (Travis Downs). Nembe anjeunna geus blogging Perkara Performance on GitHub Pages, nu ceramah ngeunaan parabot benchmarking jeung hal séjén nu patali. Sacara umum, uarch-bangku nembé mimiti kéngingkeun popularitas, tapi parantos sering disebatkeun warga Hacker News dina threads tematik salaku alat go-to pikeun benchmarking.

Uarch-bangku ngidinan Anjeun pikeun evaluate kinerja memori, speed loading data paralel jeung karya beberesih YMM ngadaptar. Kumaha hasil benchmarking anu dihasilkeun ku program tiasa dipendakan dina gudang resmi di handap kaca.

Eta sia noting yén uarch-bangku, kawas temci, nganonaktipkeun fungsi Intel Turbo naekeun (eta otomatis ngaronjatkeun speed jam processor dina beban) ku kituna hasil test konsisten.

Pikeun ayeuna, proyék éta dina tahap awal pangwangunan, janten uarch-bench henteu gaduh dokuméntasi anu lengkep, sareng operasina tiasa ngandung bug - contona, kasusah dipikawanoh kalayan peluncuran dina Ryzen. Ogé, ngan ukur tolok ukur pikeun arsitéktur x86 anu dirojong. Panulis janji bakal nambihan langkung seueur fungsionalitas ka hareup sareng ngajak anjeun ngiringan pamekaran.

cair

Ieu mangrupikeun sakumpulan alat pikeun ngevaluasi kinerja mesin Linux nganggo prosesor Intel, AMD sareng ARMv8. Éta diciptakeun dina naungan Kamentrian Atikan sareng Panaliti Féderal Jérman di 2017 sareng dileupaskeun kana open source.

Diantara parabot likwid, urang tiasa nyorot likwid-powermeter, nu mintonkeun informasi ti RAPL registers ngeunaan kakuatan dikonsumsi ku sistem, kitu ogé likwid-setFrequencies, nu ngidinan Anjeun pikeun ngadalikeun frékuénsi processor. Anjeun tiasa ningali daptar lengkep manggihan di gudang.

Alatna dianggo ku insinyur aub dina panalungtikan HPC. Contona, kalayan likwid berpungsi sakelompok spesialis ti Pusat Komputasi Daerah Universitas Erlangen-Nuremberg (RRZE) di Jerman. Anjeunna ogé nyandak bagian aktip dina ngembangkeun set alat ieu.

Tolok ukur pikeun server Linux: pilihan alat anu kabuka
--Ото - Clem Onojeghuo - Unsplash

perf-parabot

Alat ieu pikeun nganalisis kinerja server Linux ngenalkeun Brendan Gregg. Anjeunna salah sahiji pamekar DTrace - kerangka tracing dinamis pikeun aplikasi debugging sacara real waktos.

perf-tools dumasar kana perf_events sareng subsistem kernel ftrace. Utiliti maranéhanana ngidinan Anjeun pikeun nganalisis I / O latency (iosnoop), ngalacak argumen panggero sistem (unccount, funcslower, funcgraph na functrace) sarta ngumpulkeun statistik dina "hits" dina file cache (cachestat). Dina kasus anu terakhir, paréntahna sapertos kieu:

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

Komunitas anu lumayan ageung parantos kabentuk di sabudeureun alat (ampir 6 sarébu béntang on GitHub). Sareng aya perusahaan anu aktip ngagunakeun alat perf, contona Netflix. Tapi alatna dikembangkeun sareng dirobih deui (sanaos apdet parantos jarang dileupaskeun akhir-akhir ieu). Ku alatan éta, kasalahan bisa lumangsung dina operasi na - panulis nyerat nu kadang perf-parabot ngabalukarkeun panik kernel.

llvm-mca

Utiliti anu ngaramalkeun sabaraha kode mesin sumber komputasi anu diperyogikeun dina CPU anu béda. Manéhna meunteun Parentah Per Siklus (IPC) sareng beban dina hardware anu dibangkitkeun ku aplikasi khusus.

llvm-mca dibere dina 2018 salaku bagian tina proyék Régregna, nu ngembangkeun sistem universal pikeun analisis, transformasi jeung optimasi program. Perlu dipikanyaho yén pangarang llvm-mca diideuan ku solusi pikeun nganalisis kinerja parangkat lunak IACA ti Intel sarta ditéang nyieun alternatif. Sarta nurutkeun pamaké, kaluaran alat urang (perenah jeung kuantitas maranéhanana) bener nyarupaan IACA - conto bisa kapanggih di dieu. Sanajan kitu, llvm-mca ngan narima AT&T sintaksis, jadi Anjeun paling dipikaresep kudu make converters pikeun digawe sareng eta.

Naon anu urang tulis dina blog sareng jaringan sosial urang:

Tolok ukur pikeun server Linux: pilihan alat anu kabuka "Mat. Modél Wall Street" atanapi kumaha ngaoptimalkeun biaya awan

Tolok ukur pikeun server Linux: pilihan alat anu kabuka Kumaha ngamankeun sistem Linux anjeun: 10 tips
Tolok ukur pikeun server Linux: pilihan alat anu kabuka Ngaminimalkeun résiko: kumaha teu leungit data anjeun

Tolok ukur pikeun server Linux: pilihan alat anu kabuka Buku pikeun jalma anu parantos aub dina administrasi sistem atanapi nembé badé ngamimitian
Tolok ukur pikeun server Linux: pilihan alat anu kabuka Pilihan: lima buku sareng hiji kursus dina jaringan

Tolok ukur pikeun server Linux: pilihan alat anu kabukaKami di 1cloud.ru nawiskeun jasa gratis "DNS hosting" Anjeun tiasa ngatur rékaman DNS dina hiji akun pribadi.

sumber: www.habr.com

Tambahkeun komentar