Siber Güvenlik

Apache Jmeter Nedir Ve Nasıl Kullanılır ?

Reklam

Apache Jmeter Nedir Ve Nasıl Kullanılır ?

Bugün ki konumuzda Jmeter hakkında detaylı bilgi öğrenip , (Windows ve Linux üzerinde) Kurulumu ve terminolojisi hakkında bilgi verilicektir. Diğer jmeter serimizde ise JMeter GUI’sini (Graphical User Interface – Grafik Kullanıcı Arayüzü) tanıyacağız. Ve Testler hakkında ayrı ayrı seriler ile analizler Yapıcağız.

JMeter Nedir?

JMeter, ilk oluşturulduğunda amaç web uygulamalarının test edilebilmesi idi  fakat sonrasında farklı testlerinde  gerçekleştirilebiliceğimiz  geliştirilmiş bir Apache projesi haline gelmiştir.

Python Kütühanesindeki “Requests Modülü” ‘ne benzer bir durum Gerçek bir kullanıcı gibi bir web adresine sunucuya yaptığımız web isteklerini talep ediyormuşçasına simüle etmemize olanak sağlar.

JMeter %100 Java ile yazılan bir araç olduğu için Java Runtime Environment (JRE) veya Java Development Environment (JDK) kurulu olmak kaydı ile Windows, Linux veya Mac işletim sistemine sahip herhangi bir bilgisayarda problemsiz çalıştırılabilmektedir.

JMeter Kurulumu

Windows için;

1.AŞAMA

Tabi ilk önce yazılımı Windows ortamında çalıştırabilmek için Java kurulumu ( İNDİR ) gerekmektedir.

Windows JMeter Kurulumu

2.AŞAMA

Daha sonra Apache JMeter indirme sayfasına bağlanın ( TIKLA ) ve Windows için *.zip uzantılı olanı indirin.

Windows JMeter Kurulumu 2

3.AŞAMA

İnen Dosyayı .zip’ten çıkartıyoruz.

Sağ Tık > WinRAR > Buraya Çıkart

Windows JMeter Kurulumu 3
Windows JMeter Kurulumu 4

4.AŞAMA

Klasörün içindeki apache-jmeter-5.2\bin dizinine gidiyoruz.

Oradaki ApacheJMeter.jar uygulamasını sırasıyla Sağ Tık >Java Platform SE binary ile birlikte açıyoruz.

Önümüze Tüm işlemlerin başarılı olduğunu programın GUİ arayüzüne eriştiğimizde anlıyoruz. Böylece Kurulumu sonlandırıyoruz.

Windows JMeter Kurulumu 5

 

Windows JMeter Kurulumu 6

Linux için;

1.AŞAMA

Tabi ilk önce yazılımı Linux ortamında çalıştırabilmek için Java kurulumu ( İNDİR ) gerekmektedir.

cd directory_path_name

cd /usr/java

.tar.gz arşiv ikili dosyasını geçerli dizine taşıyın.

Tarball öğesini çıkarın ve Java’yı yükleyin

tar zxvf jre-8u73-linux-x64.tar.gz

Java dosyaları geçerli dizinde jre1.8.0_73 adındaki dizine yüklenir.

Linux JMeter Kurulumu

YADA BENİM YAPTIĞIM GİBİ BİR DİĞER YÖNTEM İSE;

sudo apt-get update

sudo apt-get install openjdk-11-jdk openjdk-11-jre

Linux JMeter Kurulumu 2

2.AŞAMA

Daha sonra Apache JMeter indirme sayfasına bağlanın ( TIKLA ) ve Linux için *.tgz uzantılı olanı indirin.

Linux JMeter Kurulumu 3

3.AŞAMA

Klasörün içindeki apache-jmeter-5.2.1/bin/ dizinine gidiyoruz.

Oradaki ApacheJMeter.jar uygulamasını sırasıyla Java -jar ApacheJMeter.jar ile birlikte açıyoruz.

Önümüze Tüm işlemlerin başarılı olduğunu programın GUİ arayüzüne eriştiğimizde anlıyoruz. Böylece Kurulumu sonlandırıyoruz.

Linux JMeter Kurulumu 4

Test ve JMeter Terminolojisi

Test Çeşitleri;

1-Fonksiyonel Test:

Sunulan servisin fonksiyon olarak doğruluğunu test eder. Bunu şöyle özetlemek gerekirse bir Öğrenciyi ele aldığımızda Sınava giren bir öğrenci sistemden kendi notunu sorgulayabilir veya girmez ise Her hangi bir sonucun gelmemesi olarak tanımlayabiliriz.

2-Yük Testi:

Sunulan uygulamanın belirli bir yük altında nasıl davrandığını (cevaplarda gecikme süresi, kullanıcı deneyimi, vb) gözlemleyen test türüdür.

3-Performans Testi:

Sunulan uygulamanın planlanan performans kriterleri çerçevesinde çalışıp çalışmadığını test eder. Şunu şöyle açıklamak doğru olur. Benim bir uygulamam var ve ben bu uygulamayı sadece benim ekibim için geliştirdim. Ne olucak belirli bir kullanıcıyı kaldırıcaktır. Onların uygulamada aksaklık olmadan düzenli işlemlerini sağlayıp sağlamadığını bunu karşılıycak önemlerin alınıp alınmadığını test etmek amacı ile yapılır. Ve son olarak şunu söylemekte fayda var. Her web sunucusu Belirli kriterler ile tasarlanır. Ona göre gereksinimleri karşılar.

4-Stres Testi:

Bunu en iyi açıklayan şey veri tabanıdır. Nasıl mı üste bir web sunucusunun belirli kriterler ile tasarlandığından bahsetmiştik. Şimdi ise Bunun eğer kapasitenin üzerine çıkarsak kriterlerimizden biraz veya fazlasını istersek belirli bir yük altında nasıl bir davranış sergiliyeceğini görmemizi sağlıyan bir test aşamasıdır.

Test Kavramaları

Ramp Up Period (in seconds):

Test için oluşturulan sanal kullanıcıların kaç saniye içerisinde sisteme dahil edilmesi gerektiğini belirleyebilirsiniz. Tüm kullanıcıların aynı anda sisteme girmesi isteniyorsa Ramp-up Time 0 saniye olarak verilebilir. Ramp-up Time 0 saniye belirlense bile JMeter’ın bu kullanıcıları oluşturarak sisteme dahil etmesi belirli bir zaman alacaktır.

Number of Threads (users):

Test edeceğiniz sunucuya aynı anda kaç kullanıcı ile istek göndermek istiyorsunuz miktarını girebilirsiniz.

Loop Count:

Oluşturulan testin kaç kere tekrarlanması istiyorsanız miktarını bu alana girebilirsiniz. Eğer Forever seçeneği işaretlenirse siz testi durdurana kadar test sürekli tekrarlanır.

Loop Count

Sample Time (Örnekleme Süresi) ve Latency (Gecikme)

Birbiri ile sık sık karıştırılan bu iki kavram bir arada verilerek belki daha kolay anlatılabilir. Bir HTTP isteğinin yaşam döngüsünü ele alalım. Yaşam döngüsü aşağıdaki adımlardan oluşur.

  1. İstemci ile sunucu arasında öncelikle bir TCP bağlantısının sağlanması (halihazırda bir bağlantı varsa onun kullanılması -http pipelining-)
  2. İstemci tarafından HTTP isteğinin bütünü ile TCP bağlantısı üzerinden sunucu tarafına yollanması
  3. İsteğin sunucu tarafından TCP seviyesinde bütünü ile alınması
  4. TCP seviyesinde alınan isteğin sunucu tarafındaki web veya uygulama sunucusuna aktarılması
  5. İsteğin web veya uygulama sunucusu tarafından işlenmesi (veri tabanı sorguları, vb yapılması)
  6. Cevabın sunucu tarafından istemciye açık olan TCP bağlantısı üzerinden bütünü ile iletilmesi
  7. Cevabın istemci tarafından bütünü ile TCP bağlantısı üzerinden alınması

Sample Time (Örnekleme Süresi) son kullanıcının hissettiği ve gözlemlediği performanstır ve yukarıdaki adımların tamamının toplamından oluşur. Latency (Gecikme) ise sunucu tarafında geçen işleme süresidir. Yukarıdaki listeye göre 3, 4, 5 ve 6 adımlarında geçen toplam süre Latency’yi oluşturur.

Etiketler
Daha Fazla Göster

Eren Öztürk

Sayısal düşünme yeteneği yüksek, sayılarla uğraşmaktan sıkılmayan, sosyal olaylara ilgili, Bir konuyu ayrıntılarına inerek, nedenlerini bulmaya yönelik çalışmalardan hoşlanan, değişik görüşlere ve yeniliklere açık, Bir işi planlayabilme ve uygulamaya koyabilme, uzak görüşlü olma gibi özelliklere sahip olduğumu düşünüyorum.

İlgili Makaleler

Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir