Gatling ile Yuk Testi

HardwareAndro
HardwareAndro
Published in
3 min readAug 5, 2019

Merhaba 🙋🏻 bu yazımda sizlere Scala’ya dayanan ve yüksek performans için üretilmiş bir yük ve stres test aracı olan Gatling ile yük testi yapımından bahsedeceğim.

Gatling, web uygulamaları için ücretsiz ve açık kaynaklı performans testi aracıdır. Farklı yerel makinalarda ve bulut sunucularda testlerimizi oluşturup çalıştırmak için yüksek performanslı kullanım kolaylığı sağlar.

Özellikler

HTTP senaryo kaydedici

Test geliştirme için anlamlı kendini açıklayan alanına özgü yapısal dil

Scala tabanlı

Asenkron engelleyici olmayan bir yaklaşım kullanarak daha yüksek yük üretimi

HTTP(S) protokollerinin tam desteği ve JDBC (Java Database Connectivity) ve JMS yük testi için de kullanılabilir

Veriye dayalı testler için çoklu giriş kaynakları

Güçlü ve esnek doğrulama ve iddia(assertion) sistemi

Kapsamlı ve bilgilendirici HTML formatında yük raporları

Aşağıdaki adresten Gatling’in open source versiyonunu indirelim.

https://gatling.io/open-source/

İndirdikten sonra bilgisayarımızın ortam değişkenlerinden Gatling’in path’ini tanımlayalım.

Sonrasında Gatling’in bin klasorunu path değişkeni içerisine tanımlayalım.

Tanımlamalar bittikten sonra chrome tarayıcısının proxy ayarlarını açalım.

Ayarlar>Sistem>Proxy ayarlarını aç>Yerel Ağ Ayarları

Buradan ayarların otamatik algıla’nın üzerindeki checki kaldırıp proxy sunucusunu açalım.Burada benim adresim 127.0.0.1 ve port numaramın 8080 olduğunu görüntülüyoruz.

Tüm ayarları yaptıktan sonra Gatling’imizin localinizdeki bin klasorüne giderek recorder.bat dosyasına çift tıklayalım.

Karşımıza aşağıdaki gibi Gatling ekranı çıkacaktır. Paket ismini ve classname’ini girdikten sonra record etmeye başlayalım.

Sonra yük testi yapmak istediğimiz adrese gidelim. Ben burada http://shop.demoqa.com sitesine gidip sepeti açtım.

İşlemimizi bitirdikten sonra tarayıcımızı kapatıp senaryoyu kaydedelim. Kaydettikten sonra Gatling bizim için user files altında similasyonların altında paketlere göre scala dosyası şeklinde aşağıdaki gibi kaydediyor. Dilersek buradan kaç tane user göndereceğimizi düzenleyebiliyoruz.

Şimdi senaryomuzu çalıştıralım ve sonuçlarını görelim.

Bunun için bin klasörünü açarak gatling.bat ‘e tıklıyoruz.Karşımıza aşağıdaki gibi çalıştırmak istediğimiz simülasyonu soran bir ekran çıkacaktır.Kendi simülasyon numaramı ve açıklama kısmını girmeden simülasyonu çalıştırdım.

Çalışma bitiminde Gatling bize görsel arayüzü oldukça güzel olan bir rapor veriyor. Bizler de buradan response time’larınıı inceleyerek yorum yapabiliyoruz.

Results klasörü altından simülasyon raporumuza eriştiğimde benim raporum aşağıdaki gibi karşıma çıkıyor.

Farklı senaryolarla yük testi yapmak istersek scala dosyamızı açarak setUp() methoduna giderek her 500 ms de 1 ekstra kullanıcı olacak şekilde methodu customize edelim.

setUp(scn.inject(rampUsers(10) over (5 seconds))).protocols(httpProtocol)

Veya eş zamanlı olacak şekilde 10 kullanıcı gönderecek şekilde customize edip kaydedelim.

setUp(scn.inject(atOnceUsers(10))).protocols(httpProtocol)

Sonra çalıştırıp rapor sonuçlara baktığınızda sisteminizin yük sonuçlarını görüntüleyebileceksiniz.

Bu yazımda Gatling ile performans testlerinin yapımından bahsetmeye çalıştım. Başka yazılarımızda görüşmek üzere 🖐 👩‍💻 💞

Sevgilerimle.

Sevilay Ağıl

--

--

HardwareAndro
HardwareAndro

iOS ,kotlin,xamarin,react native,flutter bot ,android, firebase,Test,BI and we love kids programming. so life development (: @github/vb10