stress-ng nedir?

How to stress test your Linux system | Network World

stress-ng, bir bilgisayar sistemini çeşitli seçilebilir şekillerde stres testi yapacaktır. Bir bilgisayarın çeşitli fiziksel alt sistemlerini ve çeşitli işletim sistemi çekirdek arayüzlerini kullanmak için tasarlanmıştır. stres-ng, başlangıçta bir makinenin çok çalışmasını sağlamak ve termal taşmalar gibi donanım sorunlarının yanı sıra yalnızca bir sistem sert bir şekilde çarpıldığında ortaya çıkan işletim sistemi hataları gibi donanım sorunlarını tetiklemek için tasarlandı. 

stres-ng ayrıca test çıktı oranlarını da ölçebilir; Bu, farklı işletim sistemi sürümleri veya donanım türleri arasındaki performans değişikliklerini gözlemlemek için yararlı olabilir. Ancak, hiçbir zaman kesin bir kıyaslama test takımı olarak kullanılması amaçlanmamıştır. Stres-ng'yi kök ayrıcalıklarıyla çalıştırmak, düşük bellek durumlarında stres etkenlerini ortadan kaldırılamaz hale getirmek için Linux sistemlerinde bellek yetersiz ayarlarını ayarlayacaktır, bu nedenle bunu akıllıca kullanın. Uygun ayrıcalıkla, stres-ng iyonik sınıfının ve iyonik seviyelerinin ayarlanmasına izin verebilir, yine bu dikkatli kullanılmalıdır.

stress-ng özellikleri:

  • 270'den fazla stres testi
  • Kayan nokta, tamsayı, bit işleme ve kontrol akışı uygulayan 80+ CPU'ya özgü stres testi
  • 20'den fazla sanal bellek stres testi
  • Linux (Debian, Devuan, RHEL, Fedora, Centos, Slackware OpenSUSE, Ubuntu, vb.), Solaris, *BSD, Minix, Android, MacOS X, GNU/Hurd, Haiku, Linux ve SunOs için Windows Alt Sistemi üzerine kuruludur /gcc, clang, icc, tcc ve pcc ile Dilos.
  • alpha, armhf, arm64, hppa, i386, m68k, mips32, mips64, ppc64el, risc-v, s390x, sparc64, x86-64 üzerinde test edilmiştir

Bazı testler, sistemin kötü tasarlanmış donanımda ısınmasına neden olabileceğinden ve ayrıca durdurulması zor olabilecek aşırı sistem çökmesine neden olabileceğinden, stresi dikkatli kullanın.

Testler %100 doğruluk payı vermese bile ihtiyacı görecek kadar yakındır.

Daha fazla bilgi için bakınız:

https://github.com/ColinIanKing/stress-ng

https://wiki.ubuntu.com/Kernel/Reference/stress-ng

syntax

stress-ng [OPTION [ARG]

stress-ng kurulum

stress-ng ile bilgisayarı çeşitli şekillerde stres testi yapmak için kurulum yapalım.

DEBIAN UBUNTU

stress-ng depoda mevcut olduğu için, apt paket yöneticisi ile rahatlıkla kurabiliriz.

sudo apt update && sudo apt install stress-ng -y 

stress-ng CPU

Stres-ng'yi root ayrıcalığı ile çalıştırmak daha da agresiftir çünkü stres-ng, zamanlama önceliklerini değiştirecek ve kendisini en üst limitlere kadar maksimize edecektir. Bir makineyi tamamen kilitlemek istemiyorsanız bunu kullanmayın.

Matris stres etkeni, CPU kayan nokta işlemlerinin yanı sıra bellek ve işlemci veri önbelleğini kullanmanın iyi bir yoludur. 

İlk olarak bir cpu üzerinde, 30 saniye stress testi başlatıyorum. Canlı olarak takip etmek için, top veya htop araçlarını kullanabilirsiniz. 

stress-ng --matrix 1 -t 30s 

Tüm CPU'larda çalıştırmak istiyorsanız, 0 veya kaç tane cpu var ise yazıp çalıştırabilirsiniz. Diğer örneğe ek olarak 1 dakika ve --times opsiyonu ekliyorum. Makinamda 2 adet cpu bulunmaktadır. (0 veya 2 rakamlarını yazabilirim.)

--times seçeneği aracılığıyla ne kadar kullanıcı zamanı ve sistem zamanının kullanıldığı hakkında bir fikir edinebilirsiniz.

stress-ng --matrix 0 -t 1m --times 

--times seçeneğiz eklediğimiz için, bu sefer bize fikir edinmemiz için bir çıktı verdi.

Yukarıdaki örnekte,  2 CPU iş parçacığıyla boşta olmayan bir makinede çalıştırdım, bu nedenle 2 örnek (2matrix) yürütüldü. Toplam CPU süresi 2 x 60 saniyeydi (120 saniye), bunun %0.12'ü çekirdekte ve %99.58'si kullanıcı zamanında ve stres-ng'de tüm CPU'ların yalnızca %99.70'ünü aldı.

-v seçeneği ayrıntılı modu etkinleştirir. Bu, stres-ng'nin ne yaptığını görmek istemeniz durumunda bazı ekstra debug (hata ayıklama) bilgilerini gösterecektir.

stress-ng CPU ve MEMORY

stres-ng'yi root ayrıcalığı ile çalıştırmak daha da agresiftir çünkü stres-ng, zamanlama önceliklerini değiştirecek ve kendisini en üst limitlere kadar maksimize edecektir. Bir makineyi tamamen kilitlemek istemiyorsanız bunu kullanmayın.

Şimdi ise, hafızayı dolduralım. vm çalışanı başına mmap N bayt kullanın, varsayılan değer 256 MB'dir

Boyutları, toplam kullanılabilir belleğin yüzdesi olarak veya B, k, m, g son ekini kullanarak Bytes, KBytes, MBytes ve GBytes birimlerinde belirtilebilir.

Aşağıdaki örnekte, 1 cpu ve 1GB ram kullanarak 60 saniye stres testi gerçekleştirilmiştir.

--vm 1 sayısı her yükseltildiğinde, bir stress-ng süreci daha başlayacaktır. Yani --vm 2 sayısı baz alınırsa stress-ng 2 cpu ve 2G ram kullanacaktır.

stress-ng --vm 1 --vm-bytes 1G --timeout 60s 

stress-ng web yük testi

Şimdi web üzerinde çalışan bir uygulamamızı canlı olarak test edelim. Makina üzerinde toplam 2cpu ve 3.9G ram bulunmaktadır.

Chrome devtools açarak network kısmına gelip, test edeceğim siteyi açıp yükleme hızına bakıyorum. Ortalama 1saniyede site yüklendiğini görüyorum.

Şimdi stress-ng kullanma zamanı, --vm kısmına 3 yazarak 3 tane process çalıştırıyorum. Bu durumda stress-ng sadece kendisi için sistemdeki tüm işlemciyi ve 3G ram'i 1 dk boyunca kullanacaktır.

stress-ng --vm 3 --vm-bytes 1G --timeout 60s 

Tekrar web sitesini yükleme hızına baktığımda, 24 saniye olduğunu görebiliyorum. Buna benzer örnekler ile, sistemlerinizin belirli yüklerde performanslarını ölçebilirsiniz.

 

Blog'a Dön