Apache jMeter Test

Apache JMeter bir web uygulamasının üzerinde değişik türden yükler oluşturarak uygulamanızı test etmenize imkan sağlayan bir araçtır. Apache JMeter, Java ile yazılmış bir araç olduğundan Java Runtime Environment (JRE) veya Java Development Environment (JDK) kurarak Windows, Linux veya Mac işletim sistemine sahip herhangi bir bilgisayarda problemsiz olarak çalıştırılabilir...

JMeter’ın Desteklediği Protokoller

  • HTTP, HTTPS web uygulamaları
  • SOAP (Web servisleri)
  • JDBC üzerinden veritabanı sürücüleri
  • LDAP
  • JMS
  • POP3, IMAP, SMTP
  • FTP

JMeter’ın Özellikleri

  • Açık kaynak kodludur.
  • Java kullanarak Swing GUI (Graphical User Interface) framework ile geliştirilmiştir.
  • Yazılmış başka Swing bileşenleri Jmeter’a entegre edilebilir.
  • JMeter test planlarını XML formatında kaydeder ve yeniden kullanılabilmesini sağlar.
  • Multi-thread çalışabilen bir uygulamadır.
  • Birçok performans testini ve load test yapabilmeyi sağlar.

Web sitelerinin gerçek kullanıcılar ile etkileşime geçmeden önce istenilen performans değerlerine ulaşıp ulaşmadığını tespit etmek ve kullanılabilirlik sınırlarını belirlemek için yapılan birtakım testler; fonksiyonel test, yük testi, stres testi ve performans testi olarak adlandırılır. JMeter ile bu testleri uygulayarak ve raporlar alarak web uygulamanızın performansını ölçmek mümkündür.

JMeter ile simüle edilen kullanıcı senaryoları, web uygulaması tarafından istenen girdiler farklılaştırılıp kurgulanarak sistemde istenen büyüklükte yük oluşturulabilir.

JMeter uygulamayı sanal kullanıcı gibi kullanarak test eder. Sanal kullanıcı olarak gözükmek için de HTTP protokolünü kullanır. JMeter’a verilen test planı, hangi sayfanın ne zaman ve hangi bilgiyle çağırıldığını belirler. Bu bilgiler doğrultusunda test planı işleme konulduğu takdirde JMeter HTTP protokolü ile uygulamaya bağlanarak istenilen veriler ile web sayfalarınızı gezmeye başlayacaktır.

Gerçeğe yakınlık için birden fazla farklı test senaryoları ile uygulama test edilerek, http yanıt süreleri, kullanılan kaynakların artış-iniş miktarı, memory leak izlenimi gibi elde edilen test sonuçlarıyla ile raporlar analiz edilir.

Örnek Bir Ana Sayfa Testi

JMeter açıldıktan sonra “Test Plan”  sayfasından adını örneğimize uygun olarak değiştiriyoruz. Biz örneğimizde drupart.com.tr’nin ana sayfasını test edeceğimiz için adını “Drupart Test Planı” olarak değiştirdik.

Drupart Test Planı”nı sağ tıklayarak  Add->Threads (Users)->Thread Group ‘u seçiyoruz.

Thread Group” sekmesinde kullanıcısı sayısını, test saniye aralığını, tekrarlama sayılarını ve örnekleyici hatası ile karşılaşıldığında alınacak kararı ayarlıyoruz.

sekil1

Thread Group”üzerine sağ tıklayarak Add->Config Element->HTTP Request Default ‘u seçiyoruz.

HTTP Request Default” istek yapılacak tüm sayfalarda aynı ayarları kullanmak için eklenen bir elementtir. Server name ve protokol alanlarını senaryomuza göre dolduruyoruz.

sekil2

Thread Group”u sağ tıklayarak Add->Sampler->HTTP Request‘i seçiyoruz.

HTTP Request” sayfaya istek yapmak için kullanılan elementtir. “HTTP Request Default” elementinde “Server Name or IP” alanına default olarak drupart.com.tr atadığımız için bu alanı boş bırakabiliriz.

İstek yapılacak sayfada veri post etmeyeceğimiz için Basic sekmesinde yer alan “Method” GET olarak ayarlanır. İstek yapılacak sayfa anasayfa olduğundan “Path” alanı  / olarak girilir. Advanced sekmesinden ise Retrieve All Embedded Resources seçili hale getirilir. 

sekil3

Thread Group”u sağ tıklayarak Add->Listener->View Results Tree‘i seçiyoruz.

View Results Tree” test sonuçlarını takip ederek kayıt altına alabileceğimiz en çok kullanılan sonuç ekranlarından bir tanesidir. Bu alan altında bulunan “Sampler Result” ile istek süresi, hata sayısı ve birçok istek sayfası ile alakalı test sonuçlarını döndürmektedir. “Request” gönderilen istek bilgilerini döndürür. “Response Data” istek sonucu dönen sayfanın kaynak kodunu seçim  tipine göre görmemizi sağlayacak alandır. “Filename” alanına kayıt altına alınacak dosya adını girebilir ve “Configure” ile kayıt altına alınacak field’ları belirleyebiliriz.

Sunucudan dönecek cevabın nasıl olmasını istiyorsak ona göre ilgili sample ve format seçilir.sekil4

sekil5

Thread Group”u sağ tıklayarak Add->Listener->View Results in Table‘ı seçiyoruz.

Start butonu ile çalıştırılıp sonuçlarımızı tablo halinde görerek aynı zamanda kayıt altına alabiliriz. “Filename” alanına kayıt altına alınacak dosya adını girebilir ve “Configure” ile kayıt altına alınacak field’ları belirleyebiliriz.sekil6