Tolok ukur kanggo server Linux: pilihan alat sing mbukak

Kita terus ngomong babagan alat kanggo ngevaluasi kinerja CPU ing mesin Linux. Dina iki ing materi: temci, uarch-bench, likwid, perf-alat lan llvm-mca.

Tolok ukur liyane:

Tolok ukur kanggo server Linux: pilihan alat sing mbukak
--Ото - Lukas Blazek - Unsplash

temci

Iki minangka alat kanggo ngira wektu eksekusi rong program. Ateges, ngidini sampeyan mbandhingake wektu eksekusi rong aplikasi. Penulis sarana kasebut yaiku mahasiswa saka Jerman, Johannes Bechberger, sing ngembangake minangka bagian saka tesis sarjana ing 2016. Dina iki minangka alat disebarake dening dilisensi ing GNU General Public License.

Johannes pengin nggawe alat sing ngidini dheweke ngukur kinerja sistem komputasi ing lingkungan sing dikontrol. Mula, salah sawijining fitur utama temci yaiku kemampuan kanggo nyiyapake lingkungan tes. Tuladhane, bisa: ngganti setelan manager frekuensi CPU, mateni hyper threading lan L1 lan L2 caches, mateni mode turbo ing prosesor Intel, etc. Kanggo benchmarking temci nggunakake alat wektu, perf_stat и getrusage.

Iki minangka sarana ing kasus pisanan:

# 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

Adhedhasar asil benchmarking, sistem ngasilake laporan trep karo diagram, tabel lan grafik, kang mbedakake temci saka solusi padha.

Ing antarane kekurangan temci, "pemuda" kasebut katon. Amarga iki dheweke ora kabeh didhukung konfigurasi hardware lan piranti lunak. Contone, angel mbukak ing macOS, lan sawetara fitur ora kasedhiya ing sistem basis ARM. Ing mangsa ngarep, kahanan bisa uga owah, amarga penulis aktif ngembangake proyek kasebut, lan jumlah bintang ing GitHub saya tambah akeh - durung suwe temci malah rembugan ing komentar ing Hacker News.

bangku-bangku

Utilitas kanggo ngevaluasi kinerja fungsi CPU tingkat rendah, dikembangake dening insinyur Travis Downs (Travis Downs). Bubar dheweke wis blogging Perkara Kinerja ing GitHub Pages, sing ngomong babagan alat benchmarking lan liyane sing gegandhengan. Umumé, uarch-bench mung wiwit entuk popularitas, nanging wis cukup umum kasebut residents saka Hacker News ing Utas tematik minangka Go-to alat kanggo benchmarking.

Uarch-bench ngijini sampeyan kanggo ngira-ngira kinerja memori, kacepetan loading data podo lan karya reresik Ndaftar YMM. Apa asil benchmarking sing diasilake dening program bisa ditemokake ing repositori resmi ing sisih ngisor kaca.

Wigati dicathet yen bangku uarch, kaya temci, disables Fungsi Intel Turbo Boost (kanthi otomatis nambah kacepetan jam prosesor ing beban) supaya asil tes konsisten.

Saiki, proyek kasebut ana ing tahap wiwitan pangembangan, mula uarch-bench ora duwe dokumentasi rinci, lan operasi kasebut bisa uga ana kewan omo - contone, kangelan dikenal kanthi diluncurake ing Ryzen. Uga, mung pathokan kanggo arsitektur x86 sing didhukung. Penulis janji bakal nambah fungsi liyane ing mangsa ngarep lan ngajak sampeyan gabung karo pangembangan kasebut.

cair

Iki minangka piranti kanggo ngevaluasi kinerja mesin Linux kanthi prosesor Intel, AMD lan ARMv8. Iki digawe ing sangisore naungan Kementerian Pendidikan lan Riset Federal Jerman ing 2017 lan dirilis menyang sumber terbuka.

Antarane alat likwid, kita bisa nyorot likwid-powermeter, sing nampilake informasi saka registrasi RAPL babagan daya sing dikonsumsi dening sistem, uga likwid-setFrequencies, sing ngidini sampeyan ngontrol frekuensi prosesor. Sampeyan bisa ndeleng dhaptar lengkap golek ing gudang.

Alat kasebut digunakake dening insinyur sing melu riset HPC. Contone, karo likwid работает klompok spesialis saka Pusat Komputasi Regional Universitas Erlangen-Nuremberg (RRZE) ing Jerman. Dheweke uga melu aktif ing pangembangan piranti kasebut.

Tolok ukur kanggo server Linux: pilihan alat sing mbukak
--Ото - Clem Onojeghuo - Unsplash

perf-alat

Alat iki kanggo nganalisa kinerja server Linux ngenalake Brendan Gregg. Dheweke minangka salah sawijining pangembang DTrace - kerangka tracing dinamis kanggo aplikasi debugging ing wektu nyata.

perf-tools adhedhasar subsistem kernel perf_events lan ftrace. Utilitas kasebut ngidini sampeyan nganalisa latensi I / O (iosnoop), nglacak argumen panggilan sistem (unccount, funcslower, funcgraph lan functrace) lan ngumpulake statistik babagan "hits" ing cache file (cachestat). Ing kasus pungkasan, printah katon kaya iki:

# ./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 sing cukup gedhe wis dibentuk ing sekitar instrumen (meh 6 ewu lintang ing GitHub). Lan ana perusahaan sing aktif nggunakake perf-alat, contone Netflix. Nanging alat kasebut lagi dikembangake lan diowahi (sanajan nganyari wis jarang dirilis akhir-akhir iki). Mulane, kesalahan bisa kedadeyan ing operasi - penulis nulis sing kadhangkala perf-alat nimbulaké gupuh kernel.

llvm-mca

Utilitas sing prédhiksi jumlah kode mesin sumber daya komputasi sing dibutuhake ing CPU sing beda-beda. dheweke ngevaluasi Instruksi Per Siklus (IPC) lan beban ing piranti keras sing diasilake aplikasi tartamtu.

llvm-mca ditampilake ing 2018 minangka bagean saka proyek kasebut LLVM, sing ngembangake sistem universal kanggo analisis, transformasi lan optimalisasi program. Dikenal yen penulis llvm-mca diilhami dening solusi kanggo nganalisa kinerja piranti lunak IACA saka Intel lan ngupaya nggawe alternatif. Lan miturut pangguna, output alat (tata letak lan jumlahe) meh padha karo IACA - contone bisa ditemokake ing kene. Nanging, llvm-mca mung nampa sintaks AT&T, dadi sampeyan mesthine kudu nggunakake konverter kanggo nggarap.

Apa sing kita tulis ing blog lan jaringan sosial:

Tolok ukur kanggo server Linux: pilihan alat sing mbukak "Mat. Wall Street model" utawa carane ngoptimalake biaya awan

Tolok ukur kanggo server Linux: pilihan alat sing mbukak Cara ngamanake sistem Linux sampeyan: 10 tips
Tolok ukur kanggo server Linux: pilihan alat sing mbukak Nyilikake risiko: carane ora ilang data

Tolok ukur kanggo server Linux: pilihan alat sing mbukak Buku kanggo sing wis melu administrasi sistem utawa mung arep miwiti
Tolok ukur kanggo server Linux: pilihan alat sing mbukak Pilihan: limang buku lan siji kursus ing jaringan

Tolok ukur kanggo server Linux: pilihan alat sing mbukakKita ing 1cloud.ru nawakake layanan gratis "hosting DNS" Sampeyan bisa ngatur cathetan DNS ing akun pribadi siji.

Source: www.habr.com

Add a comment