Jmeter ile belirtilen site üzerinde performans testi gerçekleştirilmesi

Merhaba,

Sizlere Jmeter ile küçük ayarlamalar gerçekleştirdikten sonra belirttiğiniz sayfa için performans test yapılması için plug&play ayarında bir örnek vermek istedim.

Oluşturduğum örnek için aşağıda detaylar kısmında neler içerdiğini ve bir alt kısımda ise aşama aşama neler ve nasıl yapıldığını hakkında ekledim.

Oluşturulan JMX, GUI üzerinden RAM kullanımını arttıracağından ve performans düşüklüğü yaratacağından oluşturulmuş JMX'i panel üzerinden kontrol etme ve logların okunmasına değindim.

Umarım sizler için WEB testlerinizde bir kaynak olabilmiştir.

                       Github - Inanc Ozkul  linkinden ayrıca proje dosyalarına ulaşabilirsiniz.

Ozan Eser - Kurulum & Ozan Eser - İlk Test linklerinden kurulum ve ilk test için yardım alabilirsiniz.


Test Detayları & Yapılacaklar:
  • Dashboard için Jmeter Plugins sayfası ile plugin indirip import etmek.
  • Thread Group ekleme ve ayarları
  • Http Request ekleme ve ayarları
  • Listener - View Results Tree ekleme
  • Gaussian Timer ekleme ve ayarları 
  • Assertions Ekleme ve ayarlar
  • Oluşturulmuş load testin Windows CLI üzerinde açılması 
  • CLI üzerinden loglanmış kayıtların GUI üzerinden çıktı incelenmesi
  • CLI üzerinden loglanlanmış kayıtların Dashboard kaydı alınması ve Dashboard üzerinden çıktı incelenmesi
Hazırlık:

İlk olarak dashboard için iki adet 3 Basic Graphs ve 5 Additional Graphs isimli 2 adet plugin kullandım. Alt tarafta bulunan siteye girerek download'ı gerçekleştirebilirsiniz.

Bu graphlara Jmeter Plugins  sitesi ile ulaşabilirsiniz.
  • 3 Basic Graphs plugin;

  • 5 Additional Graphs plugin; 

Download işlemi bittikten sonra çıkan dosyaları
  1. EXT ile olanları JMeter Lib altında EXT klasörüne, 
  2. LIB dosyalarını ise JMeter kurulu olduğu yerde lib içerisine ekleyiniz
Örnek Detayları:
  • Thread groups: Thread group elementi test planlarımızın başlangıç ​​noktalarıdır. Adından da anlaşılacağı gibi, thread group elementi JMeter’in test sırasında kullanacağı thread sayısını kontrol eder.
  • HTTP Request: Bu sampler, bir web sunucusuna http/https request’i göndermemizi sağlar. Örneğin; JMeter, Google web sitesine bir HTTP isteği gönderir ve bu web sitesinden HTML dosyaları veya görüntü alır.Http request configleri arasında yer alan Protocol alanı default olarak http’dir. Göndereceğimiz request http ise protocol alanını boş bırakabiliriz.
  • HTTPS Request ayarlamaları: Biz sadece siteyi ziyaret edip testimizi bu şekilde gerçekleştireceğimiz için Protocol ve Server Name girmeliyiz. HTTP request configleri arasında yer alan Protocol alanı default olarak http’dir. Göndereceğimiz request http ise protocol alanını boş bırakabiliriz
  • Listener ->View Results Tree seçimi:  Listener, Sampler’lar tarafından yapılan isteklerin sonuçlarını tablolar, grafikler, ağaç tipi yapılarda veya log biçiminde görüntülemenizi sağlar. JMeter’da bir Sampler bileşeni yürütüldüğünde, test senaryoları hakkında JMeter tarafından toplanan verilere görsel erişim sağlar.Listener, doğrudan test planının altında olmak üzere testin herhangi bir yerine eklenebilir. Yalnızca aynı ve alt seviyelerindeki elementlerden data toplarlar. Aşağıdaki resim JMeter tarafından sağlanan Listener’ları göstermektedir.
  • Thread Group Ayarlamaları: Her thread aslında test edilen uygulamayı kullanan bir kullanıcıyı temsil eder. Temel olarak, her thread server’a bir gerçek kullanıcı isteği simüle eder. Örneğin, Number of Threads (users) 100 olarak ayarlarsak; JMeter, test edilen hedef sunucuya 100 kullanıcı isteği oluşturacak ve simüle edecektir.
  • Oluşturulan örneğin GUI üzerinde çalıştırılması:
  • Timer ekleme: Her threadler arasında durdur başlat ayarlamaları yapmak için eklenmektedir.
  • Timer Ayarları: 0.5'den 1.5 saniyeye kadar threadler arasındaki bekleme ayarları için yapılması gerekenler.
  • Assertions Ekleme: Assertion, JMeter içinde server’a gönderilen request’lerin response’larını valide etmek için kullanılır. Assertion, beklenen sonucun (expected result) request’in runtime’daki gerçek sonucuyla doğruladığımız bir işlemdir. JMeter’da belirli bir sampler ve subsampler’lara assertion ekleyerek bunu gerçekleştirebiliriz. Hatta assertion’ları JMeter değişkenlerine de uygulayabiliriz. Ayrıca Thread group’a Assertion Listener ekleyerek sonuçları görüntüleyebiliriz. Başarısız(fail) olan caseler diğer tüm listener’lar tarafından da görüntülenir. Bu hususa dikkat edilmesi gerekmektedir.
  • Assertions Ayarları: 
  • Oluşturulmuş JMX'in GUI kullanılmadan CLI(Command Line Mod)üzerinden çalıştırılması:
  • Oluşturulan JMX'in GUI kullanılmadan CLI(Command Line Mod) üzerinden çalıştırıldıktan sonra çıktıların kaydedilmesi
  • Çıktıların GUI üzerinde gözlemlenmesi
    • Response Codes per Second eklenmesi
    • Summary Report Eklenmesi
    • Summary Report Ayarları ve oluşturulan JML kaydının import edilip detay incelenmesi
  • Çıktıların Dashboard üzerinde gösterilmesi
    • CLI komutu
    • Oluşturulan Dashboard detayları
    • Dashboard içeriği



Kaynak: Micheal Smith

Yorumlar

Bu blogdaki popüler yayınlar

GLCD Slayt Uygulaması Yapımı(PIC16F887 kullanarak)

Instagram Web üzerinden herhangi bir paylaşım(story & post) linkini alma ve paylaşma

SMTP kullanarak Gmail üzerinden posta göndermek