ProHoster > Blog > yönetim > Linux sunucuları için karşılaştırmalar: çeşitli açık araçlar
Linux sunucuları için karşılaştırmalar: çeşitli açık araçlar
Linux makinelerde CPU performansını değerlendirmeye yönelik araçlar hakkında konuşmaya devam ediyoruz. Bugün materyalde: temci, uarch-bench, likwid, perf-tools ve llvm-mca.
Bu, iki programın yürütme süresini tahmin etmeye yönelik bir araçtır. Temel olarak, iki uygulamanın yürütme süresini karşılaştırmanıza olanak tanır. Yardımcı programın yazarı, bunu 2016 yılında lisans tezinin bir parçası olarak geliştiren Almanya'dan bir öğrenci olan Johannes Bechberger'di. Bugünün aracı tarafından dağıtıldı GNU Genel Kamu Lisansı kapsamında lisanslanmıştır.
Johannes, kontrollü bir ortamda bir bilgi işlem sisteminin performansını ölçmesine olanak sağlayacak bir araç yaratmak istiyordu. Bu nedenle temci'nin temel özelliklerinden biri test ortamı kurabilmesidir. Örneğin, kimse yapamaz: CPU frekans yöneticisi ayarlarını değiştirin, devre dışı bırakın hiper iş parçacığı ve L1 ve L2 önbellekleri, Intel işlemcilerdeki turbo modunu kapatın vb. Karşılaştırmalı değerlendirme için temci araçları kullanır zaman, perf_stat и alışmak.
Yardımcı program ilk durumda şöyle 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
Karşılaştırma sonuçlarına göre sistem şunları üretir: uygun rapor temci'yi benzer çözümlerden ayıran diyagramlar, tablolar ve grafiklerle.
Temci'nin eksiklikleri arasında "gençliği" öne çıkıyor. Bu yüzden o her şey desteklenmiyor donanım ve yazılım yapılandırmaları. Örneğin macOS üzerinde çalıştırmak zordur ve bazı özellikler ARM tabanlı bir sistemde mevcut değildir. Gelecekte, yazar aktif olarak projeyi geliştirdiğinden ve GitHub'daki yıldızların sayısı giderek arttığından durum değişebilir - çok uzun zaman önce değil. yorumlarda tartışıldı Hacker Haberleri'nde.
Mühendis Travis Downs (Travis Downs). Son zamanlarda blog yazıyor Performans Önemlidir Kıyaslama araçları ve diğer ilgili şeylerden bahseden GitHub Sayfalarında. Genel olarak, uarch-bench yeni popülerlik kazanmaya başlıyor, ancak zaten oldukça yaygın adı geçen Hacker News sakinleri, kıyaslama için başvurulacak bir araç olarak tematik başlıklarda yer alıyor.
Uarch-bench, bellek performansını, paralel veri yükleme hızını ve temizleme işini değerlendirmenize olanak tanır YMM kayıtları. Program tarafından oluşturulan kıyaslama sonuçlarının neye benzediğini burada bulabilirsiniz resmi depoda sayfanın sonunda.
Temci gibi uarch-bank'ın olduğunu belirtmekte fayda var. devre dışı bırakır Test sonuçlarının tutarlı olması için Intel Turbo Boost işlevi (yük altında işlemci saat hızını otomatik olarak artırır).
Şimdilik proje geliştirmenin ilk aşamalarında olduğundan uarch-bench'in ayrıntılı dokümantasyonu yoktur ve çalışması hatalar içerebilir; örneğin, zorluklar biliniyor Ryzen lansmanıyla birlikte. Ayrıca yalnızca x86 mimarilerine yönelik kıyaslamalar desteklenir. Yazar gelecekte daha fazla işlevsellik ekleyeceğini vaat ediyor ve sizi geliştirmeye katılmaya davet ediyor.
Bu, Intel, AMD ve ARMv8 işlemcili Linux makinelerinin performansını değerlendirmek için kullanılan bir dizi araçtır. 2017 yılında Alman Federal Eğitim ve Araştırma Bakanlığı'nın himayesinde oluşturuldu ve açık kaynak olarak yayınlandı.
Likwid araçları arasında, RAPL kayıtlarından sistem tarafından tüketilen güçle ilgili bilgileri görüntüleyen likwid-powermeter'ın yanı sıra işlemci frekansını kontrol etmenizi sağlayan likwid-setFrequencing'leri vurgulayabiliriz. Tam listeyi görebilirsiniz depoda bul.
Araç, HPC araştırmasında yer alan mühendisler tarafından kullanılır. Örneğin, likwid ile işler Almanya'daki Erlangen-Nürnberg Üniversitesi'nin (RRZE) Bölgesel Bilgi İşlem Merkezi'nden bir grup uzman. Ayrıca bu araç setinin geliştirilmesinde de aktif rol alıyor.
Linux sunucularının performansını analiz etmek için bu araç gönderilen Brendan Gregg. Geliştiricilerden biridir DTrace — uygulamalarda gerçek zamanlı hata ayıklamaya yönelik dinamik bir izleme çerçevesi.
perf-tools, perf_events ve ftrace çekirdek alt sistemlerini temel alır. Yardımcı programları, G/Ç gecikmesini (iosnoop) analiz etmenize, sistem çağrısı bağımsız değişkenlerini izlemenize (unccount, funcslower, funcgraph ve functrace) ve dosya önbelleğindeki (cachestat) "isabetlere" ilişkin istatistikler toplamanıza olanak tanır. İkinci durumda komut şöyle görünür:
Enstrümanın etrafında oldukça geniş bir topluluk oluştu (GitHub'da neredeyse 6 bin yıldız). Ve mükemmel araçları aktif olarak kullanan şirketler var, örneğin Netflix. Ancak araç daha da geliştirilmekte ve değiştirilmektedir (her ne kadar son zamanlarda güncellemeler oldukça nadiren yayınlanmış olsa da). Bu nedenle, işleminde hatalar meydana gelebilir - yazar, bazen mükemmel araçların çekirdek paniğine neden olduğunu yazıyor.
Makine kodunun farklı CPU'larda ne kadar bilgi işlem kaynağına ihtiyaç duyacağını tahmin eden bir yardımcı program. O değerlendirir Döngü Başına Talimatlar (IPC) ve belirli bir uygulamanın oluşturduğu donanım üzerindeki yük.
llvm-mca 2018 yılında proje kapsamında sunuldu LLVMProgramların analizi, dönüşümü ve optimizasyonu için evrensel bir sistem geliştiren. llvm-mca'nın yazarlarının yazılım performansını analiz etmeye yönelik bir çözümden ilham aldıkları biliniyor Intel'den IACA ve alternatif yaratmaya çalıştık. Kullanıcılara göre aracın çıktısı (düzeni ve miktarı) gerçekten IACA'ya benziyor - örnek burada bulunabilir. Ancak llvm-mca yalnızca kabul eder AT&T sözdizimi, bu nedenle büyük olasılıkla onunla çalışmak için dönüştürücüler kullanmanız gerekecektir.
Bloglarımızda ve sosyal ağlarımızda ne hakkında yazıyoruz: