Tolok ukur untuk server Linux: pilihan alat terbuka

Kami terus berbicara tentang alat untuk menilai kinerja CPU pada mesin Linux. Hari ini dalam materi: temci, uarch-bench, likwid, perf-tools dan llvm-mca.

Tolok ukur lainnya:

Tolok ukur untuk server Linux: pilihan alat terbuka
Π€ΠΎΡ‚ΠΎ - lukas blazek β€” Hapus percikan

temci

Ini adalah alat untuk memperkirakan waktu eksekusi dua program. Pada dasarnya, ini memungkinkan Anda membandingkan waktu eksekusi dua aplikasi. Penulis utilitas ini adalah seorang mahasiswa asal Jerman, Johannes Bechberger, yang mengembangkannya sebagai bagian dari tesis sarjananya pada tahun 2016. Alat hari ini didistribusikan oleh dilisensikan di bawah Lisensi Publik Umum GNU.

Johannes ingin menciptakan alat yang memungkinkannya mengukur kinerja sistem komputasi dalam lingkungan terkendali. Oleh karena itu, salah satu fitur utama temci adalah kemampuan untuk mengatur lingkungan pengujian. Misalnya, satu bisa: mengubah pengaturan manajer frekuensi CPU, menonaktifkan hyper threading dan cache L1 dan L2, matikan mode turbo pada prosesor Intel, dll. Untuk benchmarking temci menggunakan tools waktu, kinerja_stat ΠΈ getrusage.

Ini adalah tampilan utilitas pada kasus pertama:

# 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

Berdasarkan hasil benchmarking, sistem menghasilkan laporan nyaman dengan diagram, tabel, dan grafik, yang membedakan temci dari solusi serupa.

Di antara kekurangan temci, β€œmasa mudanya” menonjol. Karena itu dia tidak semuanya didukung konfigurasi perangkat keras dan perangkat lunak. Misalnya, sulit dijalankan di macOS, dan beberapa fitur tidak tersedia di sistem berbasis ARM. Di masa depan, situasinya mungkin berubah, karena penulis secara aktif mengembangkan proyek, dan jumlah bintang di GitHub secara bertahap meningkat - bahkan belum lama ini. dibahas di komentar di Berita Peretas.

bangku uarch

Sebuah utilitas untuk mengevaluasi kinerja fungsi CPU tingkat rendah, yang dikembangkan oleh insinyur Travis Downs (Travis Turun). Baru-baru ini dia sedang ngeblog Performa Penting di Halaman GitHub, yang membahas tentang alat benchmarking dan hal terkait lainnya. Secara umum, uarch-bench baru mulai mendapatkan popularitas, tetapi ini sudah cukup umum disebutkan penghuni Hacker News di thread tematik sebagai alat bantu untuk melakukan benchmarking.

Uarch-bench memungkinkan Anda mengevaluasi kinerja memori, kecepatan pemuatan data paralel, dan pekerjaan pembersihan pendaftaran YMM. Anda dapat mengetahui seperti apa hasil benchmarking yang dihasilkan oleh program tersebut di repositori resmi di bagian bawah halaman.

Perlu dicatat bahwa bangku uarch, seperti temci, terputus Fungsi Intel Turbo Boost (secara otomatis meningkatkan kecepatan clock prosesor saat dimuat) sehingga hasil pengujian konsisten.

Untuk saat ini, proyek ini masih dalam tahap awal pengembangan, sehingga uarch-bench tidak memiliki dokumentasi terperinci, dan pengoperasiannya mungkin mengandung bug - misalnya, kesulitan diketahui dengan peluncuran di Ryzen. Selain itu, hanya benchmark untuk arsitektur x86 yang didukung. Penulis berjanji untuk menambahkan lebih banyak fungsi di masa depan dan mengundang Anda untuk bergabung dalam pengembangan.

cairan

Ini adalah seperangkat alat untuk mengevaluasi kinerja mesin Linux dengan prosesor Intel, AMD dan ARMv8. Itu dibuat di bawah naungan Kementerian Pendidikan dan Penelitian Federal Jerman pada tahun 2017 dan dirilis ke open source.

Di antara alat likwid, kami dapat menyoroti likwid-powermeter, yang menampilkan informasi dari register RAPL tentang daya yang dikonsumsi oleh sistem, serta likwid-setFrequencies, yang memungkinkan Anda mengontrol frekuensi prosesor. Anda dapat melihat daftar lengkapnya temukan di repositori.

Alat ini digunakan oleh para insinyur yang terlibat dalam penelitian HPC. Misalnya dengan likwid bekerja sekelompok spesialis dari Pusat Komputasi Regional Universitas Erlangen-Nuremberg (RRZE) di Jerman. Ia juga berperan aktif dalam pengembangan seperangkat alat ini.

Tolok ukur untuk server Linux: pilihan alat terbuka
Π€ΠΎΡ‚ΠΎ - Clem Onojeghuo β€” Hapus percikan

alat kinerja

Alat ini untuk menganalisis kinerja server Linux diperkenalkan Brendan Gregg. Dia adalah salah satu pengembangnya DTrace β€” kerangka penelusuran dinamis untuk men-debug aplikasi secara real-time.

perf-tools didasarkan pada subsistem kernel perf_events dan ftrace. Utilitasnya memungkinkan Anda menganalisis latensi I/O (iosnoop), melacak argumen panggilan sistem (unccount, funcslower, funcgraph, dan functrace) dan mengumpulkan statistik β€œhit” di cache file (cachestat). Dalam kasus terakhir, perintahnya terlihat seperti ini:

# ./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 yang cukup besar telah terbentuk di sekitar instrumen (hampir 6 ribu bintang di GitHub). Dan ada perusahaan yang aktif menggunakan perf-tools, misalnya Netflix. Namun alat ini terus dikembangkan dan dimodifikasi (walaupun pembaruan jarang dirilis akhir-akhir ini). Oleh karena itu, kesalahan mungkin terjadi dalam pengoperasiannya - penulis menulis bahwa terkadang perf-tools menyebabkan kepanikan kernel.

llvm-mca

Sebuah utilitas yang memprediksi berapa banyak sumber daya komputasi yang dibutuhkan kode mesin pada CPU yang berbeda. Dia mengevaluasi Instruksi Per Siklus (IPC) dan beban pada perangkat keras yang dihasilkan oleh aplikasi tertentu.

llvm-mca dipresentasikan pada tahun 2018 sebagai bagian dari proyek LLVM, yang mengembangkan sistem universal untuk analisis, transformasi, dan optimalisasi program. Diketahui bahwa penulis llvm-mca terinspirasi oleh solusi untuk menganalisis kinerja perangkat lunak IACA dari Intel dan berusaha menciptakan alternatif. Dan menurut pengguna, keluaran alat (tata letak dan kuantitasnya) sangat mirip dengan IACA - misalnya dapat ditemukan di sini. Namun, llvm-mca hanya menerima Sintaks AT&T, jadi kemungkinan besar Anda harus menggunakan konverter untuk menggunakannya.

Apa yang kami tulis di blog dan jejaring sosial kami:

Tolok ukur untuk server Linux: pilihan alat terbuka "Tikar. Model Wall Street" atau cara mengoptimalkan biaya cloud

Tolok ukur untuk server Linux: pilihan alat terbuka Cara mengamankan sistem Linux Anda: 10 tips
Tolok ukur untuk server Linux: pilihan alat terbuka Meminimalkan risiko: bagaimana agar data Anda tidak hilang

Tolok ukur untuk server Linux: pilihan alat terbuka Buku untuk mereka yang sudah terlibat dalam administrasi sistem atau baru berencana untuk memulai
Tolok ukur untuk server Linux: pilihan alat terbuka Seleksi: lima buku dan satu kursus jaringan

Tolok ukur untuk server Linux: pilihan alat terbukaKami di 1cloud.ru menawarkan layanan gratis β€œhosting DNS" Anda dapat mengelola catatan DNS dalam satu akun pribadi.

Sumber: www.habr.com

Tambah komentar