JMeter Yük Testi
JMeter Yük Testi , Java tabanlı açık kaynaklı masaüstü uygulaması olan Apache JMeter adlı bir yük test aracı kullanılarak yapılan bir test sürecidir. Yük testi için JMeter, test edilen web uygulamasının yüksek yük gereksinimlerini karşılayıp karşılamadığını belirleyen çok önemli bir araçtır. Ayrıca, ağır yük altında genel sunucuyu analiz etmeye yardımcı olur.
JMeter Performans Testi
JMeter Performans Testi , bir web uygulamasının performansını test etmek için Apache JMeter kullanılarak gerçekleştirilen Test yöntemidir. Performans testi için JMeter, hem statik hem de dinamik kaynakları test etmeye yardımcı olur, web sitesinde eşzamanlı kullanıcıları keşfetmeye yardımcı olur ve performans testi için çeşitli grafiksel analizler sağlar. JMeter performans testi, web uygulamasının yük testi ve stres testini içerir.
Apache JMeter test aracı, Performans Testinde aşağıdaki faydaları sunar
- JMeter, JavaScript ve HTML gibi statik kaynakların yanı sıra JSP, Servlets ve AJAX gibi dinamik kaynakların performansını test etmek için kullanılabilir .
- JMeter, web sitenizin idare edebileceği maksimum eşzamanlı kullanıcı sayısını keşfedebilir
- JMeter, performans raporlarının çeşitli grafik analizlerini sağlar.
JMeter Performans Testi şunları içerir:
- Yük Testi: Aynı anda birden çok kullanıcının Web hizmetlerine erişimini simüle ederek beklenen kullanımı modelleme.
- Stres Testi: Her web sunucusunun maksimum yük kapasitesi vardır. Yük sınırı aştığında, web sunucusu yavaş yanıt vermeye başlar ve hatalar üretir. Stres Testinin amacı, web sunucusunun kaldırabileceği maksimum yükü bulmaktır.
Aşağıdaki şekil, JMeter Yük Testinin ağır yükü nasıl simüle ettiğini göstermektedir:
JMeter'da bir Performans Test Planı Oluşturun
Bu eğiticide, 1000 kullanıcı için Google.com'un bir performans analizini yapıyoruz
Hedef web uygulamasının performansını test etmeden önce şunu belirlemeliyiz:
- Normal Yük : Web sitenizi ziyaret eden ortalama kullanıcı sayısı
- Ağır Yük : Web sitenizi ziyaret eden maksimum kullanıcı sayısı
- Bu testte hedefiniz nedir ?
İşte bu pratik örneğin yol haritası
Adım 1) Konu Grubu Ekleyin
- Başlangıç JMeter
- Ağaçta Test Planını seçin
- Konu Grubu Ekle
"Test Planı" na sağ tıklayın ve yeni bir iş parçacığı grubu ekleyin : Ekle -> Dişler (Kullanıcılar) -> Konu Grubu
Diş Grubu kontrol panelinde, Diş Özelliklerini aşağıdaki şekilde girin:
- Konu Sayısı : 100 (Hedef web sitesine bağlanan kullanıcı sayısı: 100)
- Döngü Sayısı : 10 (Testi yürütme süresi)
- Hızlanma Süresi : 100
İş Parçacığı Sayısı ve Döngü Sayıları farklıdır.
Hızlanma Süresi, JMeter'a sonraki kullanıcıyı başlatmadan önce ne kadar geciktireceğini söyler . Örneğin, 100 kullanıcımız ve 100 saniyelik Hızlanma dönemimiz varsa, başlangıçtaki kullanıcılar arasındaki gecikme 1 saniye olacaktır (100 saniye / 100 kullanıcı)
Adım 2) JMeter elemanlarının eklenmesi
Şimdi bu testte hangi JMeter elemanlarını belirleyeceğiz. Öğeler
-
HTTP isteği Varsayılanı
Bu öğe, İş Parçacığı Grubuna sağ tıklayıp: Ekle -> Yapılandırma Öğesi -> HTTP İstek Varsayılanları seçilerek eklenebilir .
HTTP İstek Varsayılanları kontrol panelinde, test edilen Web sitesi adını girin (http://www.google.com)
-
HTTP İsteği
İş Parçacığı Grubuna sağ tıklayın ve şunu seçin: Ekle -> Örnekleyici -> HTTP İsteği .
HTTP İstek Kontrol Panelinde, Yol alanı, Google sunucusuna hangi URL isteğini göndermek istediğinizi belirtir .
Örneğin, Yol alanına "takvim" girerseniz. JMeter, Google sunucusuna http://www.google.com/calendar URL talebini oluşturacaktır.
Yol alanını boş bırakırsanız, JMeter http://www.google.com adresinden Google sunucusuna URL talebini oluşturacaktır.
Bu testte, JMeter'ın http://www.google.com Google sunucusuna URL isteğini oluşturmasını sağlamak için Yol alanını boş bırakın .
Adım 3) Grafik sonucu ekleme
JMeter, test sonucunu Grafik formatında gösterebilir.
Sağ tıklayın Test Planı, Ekle -> Dinleyici -> Grafik Sonuçları
Adım 4) Testi çalıştırın ve test sonucunu alın
Basın Çalıştır Toolbar üzerindeki düğmeye (Ctrl + R) yazılımı test sürecini başlatmak için. Grafikte gerçek zamanlı olarak test sonucu ekranını göreceksiniz.
Aşağıdaki resim, www.google.com web sitesine erişen 100 kullanıcıyı simüle ettiğimiz bir test planının grafiğini sunmaktadır.
Resmin altında, renklerle gösterilen aşağıdaki istatistikler yer almaktadır:
- Siyah: Gönderilen mevcut örneklerin toplam sayısı.
- Mavi: Gönderilen tüm örneklerin mevcut ortalaması.
- Kırmızı: Mevcut standart sapma.
- Yeşil: Sunucunun işlediği dakika başına istek sayısını temsil eden aktarım hızı
Google sunucusunun performansını aşağıdaki şekilde analiz edelim.
Test edilen web sunucusunun performansını analiz etmek için 2 parametreye odaklanmalısınız
- Çıktı
- Sapma
Üretilen en önemli parametredir. Sunucunun ağır bir yük ile başa çıkma yeteneğini temsil eder. Daha yüksek Throughput olduğunu daha iyi sunucu performanstır.
Bu testte, Google sunucusunun verimi 1.491.193 / dakikadır. Bu, Google sunucusunun dakikada 1.491.193 isteği işleyebileceği anlamına gelir. Bu değer oldukça yüksektir, bu nedenle Google sunucusunun iyi bir performansa sahip olduğu sonucuna varabiliriz
Sapma kırmızı gösterilir - ortalama sapma gösterir. Ne kadar küçükse o kadar iyi .
Google sunucusunun performansını diğer web sunucularıyla karşılaştıralım. Bu, http://www.yahoo.com/ web sitesinin performans testi sonucudur (Diğer web sitelerini seçebilirsiniz)
Http://www.yahoo.com test edilen bir web sitesinin verimi 867.326 / dakikadır. Bu, bu sunucunun dakikada 867.326 isteği Google'dan daha düşük olarak işlediği anlamına gelir.
Sapma 2689'dur, Google'dan (577) çok daha yüksektir. Böylece bu web sitesinin performansının bir Google sunucusundan daha az olduğunu belirleyebiliriz.
NOT: Yukarıdaki değerler, Google'daki mevcut sunucu yükü, internet hızınız, CPU gücünüz vb. Gibi çeşitli faktörlere bağlıdır. Bu nedenle, yukarıdaki ile aynı sonuçları almanız çok düşük bir ihtimaldir. Bu yüzden panik yapmayın!
Sorun giderme:
Yukarıdaki senaryoyu çalıştırırken sorunla karşılaşırsanız ... aşağıdakileri yapın
- İnternete bir proxy aracılığıyla bağlanıp bağlanmadığınızı kontrol edin. Varsa, proxy'yi kaldırın.
- Yeni bir Jmeter örneği açın
- PerformanceTestPlan.jmx'i Jmeter'de açın
- İplik Grubuna Çift Tıklayın -> Grafik Sonucu
- Testi Çalıştırın