29 Temmuz 2020

Performans Testi Aracı Apache JMeter’da REST API Servis Senaryosu Oluşturma Rehberi 3

Performans Testi Aracı Apache JMeter’da REST API Servis Senaryosu Oluşturma Rehberi 3

Apache JMeter’da REST API Performans Testleri için daha önce yazdığım iki makalemde JMX kalıbı oluşturmayı ve genel hatları ile Rest Api servis testlerini yapabilmek için alt yapıyı geliştirmeyi göstermiştim. Detaylı incelemek için Rehber 1 ve Rehber 2 yazılarımı inceleyebilirsiniz. Bu yazımda HTTP Request oluşturma ile devam edeceğim.

İlk olarak Thread Group'un altında olacak şekilde HTTP Request sekmemizi oluşturalım. Thread Group sekmesine sağ tıklayıp Add > Sampler > HTTP Request özelliğini ekleyebilirsiniz. Daha sonra aşağıdaki resmi örnek olarak Rest Servis için gerekli alanları doldurabiliriz.

Performans Testi Aracı Apache JMeter’da REST API Servis Senaryosu Oluşturma Rehberi 3

Name: Bu kısım HTTP Request olarak kalabilir, sekmemizin adıdır. Rest Api Request olarak da adlandırabilirsiniz.

Basic penceresinden devam ediyorum. Daha detaylı konfigürasyonlar için Advanced sekmesini kullanabilirsiniz. Bu kısımda bağlanırken Timeouts olma ihtimaline karşın süre belirleme, Response Value atama, bağlanacağınız sunucunun Username ve Password bilgilerini doldurma gibi ileri seviye ayarlar mevcuttur.

Protocol: Default olarak http yazabilirsiniz fakat servis https destekliyor ise onu yazmalısınız.

Server Name or IP: Rest servisinin sadece sunucu adını veya IP adresini buraya yazınız, portu bu alana eklemeyiniz.

Port Number: Rest Servisi sunucusunun port numarasını buraya giriniz.

HTTP Request: Rest servisini çağırdığınız metodu seçiniz POST veya GET ya da diğer Rest metot varyasyonları giriniz.

Path: Rest ve Soap servislerde ana sunucu adresinden sonraki Path alanını bu kısma girmelisiniz.

Content Encoding: UTF-8 olarak ayarlayınız.

Follow Redirects ve Use KeepAlive kutucukaları seçili olmalıdır.

Parameters kısmına Raw Body içinde olan değişkenleri giriniz veya direkt JSON Body'i Body Data kısmına da yazabilirsiniz. Ben genelde Body Data kısmını kullanıyorum.

Files Upload ise PDF, Excel gibi karşı istek atarken dosta attach eklemeniz gerekirse bu alanı kullanınız.

Bu ayarları yaptıktan sonra örneğin bir değişken girmek istedik Body Data'da. Bu alanın adı resimdeki gibi orderId olsun. Bu alanı eklerken ${orderId} olarak ekliyoruz. Örnek bir JSON Body aşağı ekledim.

{
  "amount": 10.00,
  "bankCode": 4585,
  "orderNumber": ${orderId},
  "cardholderNumber": "11111111111",
  "cardNumber": "111111******1111",
}

Performans Testi Aracı Apache JMeter’da REST API Servis Senaryosu Oluşturma Rehberi 3

Bu orderId değeri her istekte değişmesini istediğimiz bir alan olsun ve bunu da Counter ile belirleyelim. Bir önceki makalemde Counter'dan bahsetmiştim fakat tekrar üzerinden geçelim; Her istekte değer 1000 ile başlasın ve son değer 9999 olana kadar ikişer artarak sırayla dinamik değer üretmek için resimdeki ayarları yapabilirsiniz.

Son olarak Performans Testi sonucunu görmek, izlemek ve raporlamak için Listener olarak View Results Tree, View Results in Table ve Summary Report sekmelerini ekleyebilirsiniz. Bu sekmelerden çıkacak Web servis sonuçlarını yorumlamak için ise aşağıdaki bilgileri bilmeniz yeterli olacaktır.

Average: Ortalama cevap verme süresi MS cinsinden.

%90-%95-%99 Line: Şu Oranlarda ortalama cevap verme süresi MS cinsinden.

Throughput: Saniyede yapılan Request sayısını gösterir.

Agent: 1 Makine yani Server temsil edip maksimum 100 veya 200 Thread gönderilmelidir sağlıklı Performans Testi için.

Endurance Testi (Endurance Testing): Dayanıklılık testidir, Stres yük testi ile karıştırılmamalıdır. Belli bir süre içinde yapılan testlere denmektedir.

Burak AVCI - Update: 30.07.2020

Hiç yorum yok:

Yorum Gönderme