Dev Arksoft
  • Arksoft Developer Network
  • Ağustos 2023
    • Angularda DOM (Document Object Model) Manipülasyonu
    • Angular’da Routing
    • Representational State Transfer (REST)
    • .Net Framework için Local NugetPackage
    • Agile Nedir?
  • Temmuz 2023
    • Angular HTTP Interceptors
    • Angularda Promise ve Observable
    • Mongo DB Kullanımı
  • Haziran 2023
    • Angular Validators
  • Mayıs 2023
    • Docker Uzerine Redis Kurulumu ve .Net Core ile Redise Erişim
  • Nisan 2023
    • Angular 14 Componentler Arası İletişim
  • Şubat 2023
    • JMeter ile Performans Testi
  • Ocak 2023
    • Windows Giriş Ekranında C# Form Açmak
  • Temmuz 2022
    • Regular Expressions
  • Haziran 2022
    • RSA Şifreleme
    • AutoMapper Kullanımı
    • Permutasyon ve Kombinasyon
    • Generic Repository Pattern
    • Levenshtein Algoritması
    • HTML 5’e Giriş
    • Graph Yapılar
  • Mayıs 2022
    • IQueryable IEnumerable Farklar
    • Sıralama Algoritmaları
  • Şubat 2022
    • ADFS Custom 2FA Integration
    • Reacta Giriş ve Reactın Temel Prensipleri
    • TypeScript Kullanımı
    • Serialization Kullanımı
    • Log4Net Kullanımı
    • Collections Yapıları
    • Windows Service Projesini Debug Etme ve Harici Exe Çalıştırma
    • Culture ve DateTime Kullanımı
    • Reflection Kullanımı
    • Steganografi Teknikleri
    • ElasticSearch Kullanımı
    • SWAGGER ve JWT TOKEN BASED WEBAPI Kullanımı
    • LINQ Komutları Kullanımı
    • Image Processing İşlemleri Kullanımı
Powered by GitBook
On this page
  • JMeter nedir ?
  • JMeter kurulumu nasıl yapılır ?
  • JMeter ile performans testi nasıl yapılır ?
  • JMeter ile nasıl rapor oluşturulur?
  1. Şubat 2023

JMeter ile Performans Testi

Ugur Saglam

PreviousAngular 14 Componentler Arası İletişimNextWindows Giriş Ekranında C# Form Açmak

Last updated 2 years ago

Herkese merhaba,

Bu yazımda sizlere Apache JMeter hakkında bilgi vereceğim.

JMeter nedir ?

Apache JMeter, uygulamarımızın performansını ölçmek ve analiz etmek için kullanabiliceğimiz bir açık kaynaklı test aracıdır. JMeter ile hedef sunucuya istek gönderip isteğe bağlı olarak çok sayıda kullanıcı varmış gibi simüle ederek uygulamanın performansını ve işlevselliğini test eder. Bu testler ile beraber uygulamamızın yük altında nasıl çalıştığını, hangi zaman aralıklarında hata ile karşılaşıldığı ve yük altında stabil olarak çalışabilip çalışmadığı gibi bir çok bilgiyi edinmemizi ve bunu raporlayabilmemizi sağlar.

JMeter kurulumu nasıl yapılır ?

Adım 1

JMeter ‘ı yükleyebilmek için ilk öncelikle Java sdk yüklememiz gerekmektedir. JMeter sistem gereksinimi için JDK 1.6 veya üstü yeterlidir.

Aşağıdaki linkten indirme işlemini gerçekleştirebirsiz.

https://www.oracle.com/java/technologies/downloads/

Eğer bilgisayarınızda java yüklüyse ve versiyonunu kontrol etmek istiyorsanız komut satırına sizin sisteminize uyan komutu çalıştırıp öğrenebilirsiniz.

Windows: c:\> java –version

Linux: $ java –version

Mac: machine: $ java –version

Örneğin;

Kurulumu tamamladıktan sonra kurulumun başarılı olup olmadığını yine yukarıdaki java –version komutu ile kontrol edebiliriz.

Adım 2

JMeter ‘ın son sürümünü aşağıdaki linkten indirebilirsiniz.

https://jmeter.apache.org/download_jmeter.cgi

Adım 3

JMeter ‘i kuralım;

İndirdiğimiz zip dosyasını çıkartalım. Sizlere içindeki klasörlerin neleri içerdiğini aşağıda açıklanmıştır.

/bin : JMeter’i başlatmak için kullanılan JMeter komut dosyasını içerir.

/docs : JMeter dökümantasyon dosyalarıdır.

/extras : İlgili ek dosyaları içerir.

/lib/: JMeter için gerekli Java kütüphanelerini içerir.

/lib/ext : JMeter ve protokoller için temel .jar dosyalarını içerir.

/lib/junit : JMeter için kullanılan Junit kütüphanesidir.

Adım 4

JMeter’I 3 farklı modda başlatabiliriz.Bunlar;

  • GUI Modu

  • Server (Sunucu) Modu

  • Command Line (komut satırı) Modu

JMeter’i GUI Modu ile Başlatma

JMeter ‘ın bulunduğu klasörün içindeki bin klasörü altındaki sisteminize bağlı olarak aşağıdaki dosyalardan birini çalıştırmalısınız.

  • Windows : jmeter.bat

  • Linux : jmeter.sh

  • Mac : jmeter.sh

Windows için jmeter.bat dosyasını çalıştırıyoruz ve JMeter GUI mod ile başladığını görebiliriz.

JMeter’i GUI Olmayan Modu ile Başlatma

1-JMeter’i Server Modu ile Başlatma

Sunucular, client makinelere oranla uygulamalarımıza daha çok stres uygulayabilirz. Tek bir JMeter istemcisi ile birden fazla jmeter makinesini control etme imkanı sağlar. JMeter’i uzaktan çalıştırarak, birçok alt uç bilgisayar arasında bir testi çoğaltabilir ve daha büyük bir yük simüle edebilirz.

JMeter’i sunucu modunu başlatmak için, bat dosyasını aşağıdaki şekilde çalıştırmalıyız. (jmeter-server.bat)

C:\Users\ugur.saglam\Downloads\apache-jmeter-5.5\apache-jmeter-5.5\bin>jmeter-server.bat

2-JMeter’i Komut Satırı Modu ile Başlatma

JMeter GUI modda çalışırken çok fazla Memory ve CPU tüketebilir. Bu sebepten dolayı testimizi olumsuz etkileyebilir ve doğru sonuçlar alamayabiliriz. Bunu engellemek için GUI olmayan modda çalıştırabiliriz. Örnek olarak;

JMeter ile performans testi nasıl yapılır ?

JMeter ile performans testi yapmak için Jmeter GUI ‘yi açıp test planı oluşturmalıyız. Jmeter’da test planları .jmx formatında kaydedilir ve saklanır. Test planına yeni bir element eklemek için test planı alanında sağa tıklanır. Add listesi altından yeni bir element seçilir ve test planına eklenir. Testimizi yapmadan önce uyglamamızın yükü ne kadar olacak ? Kullancı sayısı en ortalama ve en fazla kaç kişi olacak? gibi soruları cevaplamamız gerekir. Test planımızın ismini belirleyip Thread oluşturarak işe koyulalım.

  • Thread Group: 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.

Action to be taken after a Sampler error: Hata oluşması durumunda ne yapılmasını istediğimizi seçtiğimiz alandır.

Continue: Testin bir sonraki adımına ilerlemesini sağlar. Performans testlerinde bu seçeneği daha çok kullanırız.

Stop Thread: Geçerli thread ‘i durdurur.

Stop Test: Testi durdurur.

Number of Threads (users): Hedef adrese kaç kullanıcı isteği olacağını belirlememize yarar.

Ramp-up period (seconds): Belirlenen kullanıcı sayısının saniyede kaç istek atacağını ve testi bitirme süresini belirlediğimiz alandır.

Loop Count: Test senaryolarını kaç kez koşacağının belirlendiği alandır.

Thread Properties i görseldeki gibi ayarladım. 100 kullanıcı ile 10 istek 1 kez yapacaktır.

HTTP Request: Web sunucusuna request göndermemizi sağlayan samplerdir. Sampler; JMeter’in belirli sunuculara istek göndermesine yarar.

HTTP Request Defaults: Request işleminde varsayılan ayarları belirleyebilmemize yarar.

  • HTTP Request Defaults ve HTTP Request ekranlarında istek yapacağımız adresi, portu ve protocol’ü belirtelim.

  • Şimdi Listener (Yapılan isteklerin sonuçlanı görüntülemeye yarar.) ekleyelim.

Şimdi Ctrl + R tuşlarına ya da yukarıdan yeşil oynat butonuna basarak ilk testimizi başlatalım.

Test sonuçlarımızı bu Listener’lardan görebiliriz.

Şimdi de testimizde kullanabileceğimiz diğer özelliklere göz atalım.

User Defined Variables: Bu ekranda test senaryolarında kullanacağımız sabit değişkenlerimizi belirleyebiliriz.

Simple Controller: Testlerimizi klasör gibi ayırmamıza yarar.

Aggregate Graph: İsteklerimiz sonuçlarını görebileceğimiz bir başka listenerdır.

Duration Assertion: İsteğimiz kaç saniyede gerçekleşmesini istiyorsak onu belirliyoruz. Belirlenen saniyeyi geçerse fail oluyor.

JMeter ile nasıl rapor oluşturulur?

JMeter’da GUI mod ile yapılan testler sonucunda bazen doğru veriler gösteremeyebiliyor. Bu yüzden test sonuçlarımızı rapor haline çevirmek için GUI mod olmadan test senaryolarımızı koşmalıyız. Bunun için;

Örnek olarak;

Cmd’yi yönetici olarak çalıştırın. Komut satırına şu komutları kendinize göre yazabilirsiniz.

jmeter -n -t "C:\Users\ugur.saglam\Downloads\jmeter test\TestDemo.jmx" -l "C:\Users\ugur.saglam\Downloads\Result1.csv" -e -o "C:\Users\ugur.saglam\Downloads\Reports"

-n = JMeter’in komut satırı modunda koşulacağını belirtir.

-t = Oluşturulan jmeter(.jmx) dosyasının adresini belirtir.

-l = Sonuçları içericek olan csv dosyasının nereye oluşturulacağının adresini belirtir.

-e -o = hmtl raporunun hangi klasör isminde nereye oluşturulacağının adresini belirtir.

Excel ve Html raporumuzu oluşturmuş olduk.

Yazımızı okuduğunuz için teşekkür ederiz. Bir sonraki yazımızda görüşmek üzere. Herkese keyifli ve sağlıklı haftalar :)

Uğur Sağlam

Arksoft Bilişim