Web Sitenizi Performans Testi için JMeter ile başlayın

Yayınlanan: 2022-05-10

Yavaş ve düşük performans gösteren web siteleri asla bir kitleyi çekmez. Bunun ötesinde, web siteniz test sırasında ışık hızında çalışabilse de, ani bir trafik dalgalanması olduğunda nasıl performans göstereceğini biliyor musunuz? Veya işletmenizde ek entegrasyonlar ve işlevler gerektiren bir büyüme hamlesi varsa?

Aradığınız şey, web sitenizin performansını çeşitli senaryolarda test etmenin bir yoludur. İşte burada Performans testi devreye girer. Performans testinin ana amacı, web sitesinin performansının piyasaya sürülmeden önce beklendiği gibi olduğundan emin olmaktır. Hız, güvenilirlik, yanıt süresi ve kaynak kullanımının test edilmesine yardımcı olur. Tüm bu performans testleri için harika bir açık kaynak aracı JMeter'dir. JMeter'e daha yakından bakın ve bu makalede bir testi nasıl uygulayabileceğinizi öğrenin.

JMeter Performans testi

Neden Performans Testi

Performans testinin amacı hataları bulmak değil, performans hatalarını ortadan kaldırmaktır. Kapsamlı bir performans testi yapılmadan, web sitesi birkaç kullanıcı aynı anda kullanırken yavaş çalışma veya kötü kullanılabilirlik gibi sorunlardan muzdarip olabilir. Performans testinin en önemli nedenlerinden biri, aksama süresinden kaçınmaktır.

Fortune 500 şirketlerinin yaklaşık %59'unun her hafta yaklaşık 1,6 saat kesintiye uğradığını biliyor muydunuz? 2013'te 5 dakikalık bir kesinti, Google.com'a 545.000 dolara mal oldu! Beklenmeyen bir web hizmeti kesintisi, Amazon'a saniyede 1100 dolar zarara mal oldu. Kaynak.

Bir performans testi sunucular üzerindeki ağır yükü simüle edebiliyorsa, işlevsel testler, uygulama testleri ve protokol testleri çalıştırabiliyorsa, bunların tümü önlenebilir.

JMeter kullanarak performans testi

Apache JMeter uygulaması, yük veya performans testini test etmek için tasarlanmış, tamamen Java tabanlı bir uygulama olan açık kaynaklı bir yazılımdır. İlk olarak Apache Yazılım Vakfı'ndan Stefano Mazzocchi tarafından tasarlandı. JMeter, web sunucusuna tonlarca sanal eşzamanlı kullanıcı oluşturarak bir sunucudaki ağır bir yükü simüle edebilir.

JMeter testi nasıl gerçekleştirir?

JMeter bir istek oluşturur ve bunu sunucuya gönderir. Sunucu talebini aldıktan sonra bunları toplar ve bu ayrıntıları bir çizelge veya grafikte görselleştirir. Ardından sunucu talebini işler ve son olarak metin, XML, JSON gibi çeşitli formatlarda test sonucunu üretir. Kullanıcılar, toplanan verilerden uygulamanın davranışını ve performans darboğazlarını gözlemleyebilir ve uygulamanın nerede iyileştirmeye ihtiyaç duyduğuna dair fikir verebilir.

Neden JMetre

  • Açık kaynak - JMeter açık kaynaklı bir yazılımdır ve ücretsiz olarak indirilebilir
  • Platformdan bağımsız - JMeter, dünyanın en popüler programlama dili olan Java ile geliştirilmiştir. Bu nedenle, herhangi bir İşletim Sisteminde çalışabilir.
  • Çoklu Protokol Desteği - JMeter yalnızca web uygulaması testini desteklemekle kalmaz, aynı zamanda veritabanı sunucusu performansını da değerlendirir. HTTP, JDBC, LDAP, SOAP, JMS ve FTP gibi tüm temel protokoller JMeter tarafından desteklenir.
  • Kullanıcı dostu - JMeter, test planları oluşturmaya ve öğeleri yapılandırmaya yardımcı olan kapsamlı bir GUI'ye sahiptir. Öğe eklemek de kolaydır. Test planına sağ tıklamanız ve yapmanız gerekenleri eklemeniz yeterlidir.

JMeter Elemanları

  • İplik Grubu - İplik Grubu, İpliklerin bir koleksiyonudur. Her iş parçacığı, AUT'yi kullanan bir kullanıcıyı temsil eder. Her Thread, sunucuya gerçek bir kullanıcı isteğini taklit eder.
  • Örnekleyiciler - JMeter, HTTP, FTP, JDBC ve daha birçok protokolün test edilmesini destekler. Konu Grupları, sunucuya gelen kullanıcı isteklerini simüle eder. Thread Grubunun ne tür istekler (HTTP, FTP vb.) yapması gerektiğini bilmesine yardımcı olur.
  • Dinleyiciler - Dinleyiciler, izleyicilerin bazı günlük dosyalarındaki tablolar, grafikler, ağaçlar veya basit metin biçimindeki Örnekleyici sonuçlarını görüntülemelerini kolaylaştırır.
  • Yapılandırma - JMeter'deki yapılandırma öğeleri, sunucuya yapılan örnekleyici isteklerini yapılandırmak veya değiştirmek için kullanılır.

jmeter nasıl kurulur

JMeter'i indirip kurmak için sadece bir ön koşul vardır: Java'nın sisteminizde kurulu olması.

  • JMeter'i indirin ve buradan yükleyin - https://jmeter.Apache.org/download_jmeter.cgi
  • JMeter'i Başlatmak için: Apache jmeter klasörü > bin klasörü > jmeter.bat'a tıklayın

Test Planı Oluşturun

Adım 1: Bir ileti dizisi grubu ekleyin

Ekle'ye gidin, ardından Konular(Kullanıcılar) ve Konu kullanıcıları'nı seçin.

Performans testi

Konu Grubu

Seçenekler

A. Bir hata oluştuktan sonra yapılacak işlem
B. Konu sayısı - Kullanıcı sayısı
C. Saniye cinsinden hızlanma süresi - Kullanıcıların isabetleri arasındaki zaman aralığı
D. Döngü sayısı - Kullanıcı sayısı için testin kaç kez çalışacağı

2. Adım: HTTP İsteği Ekle

Thread grubuna sağ tıklayın, bir örnekleyici ekleyin ve Http request'e tıklayın.

Seçenekler

A. “Sunucu adı” ekleyin
B. Diğer kutuda gelecek ve http request durumunda otomatik olarak alınacak protokoller olduğu için http veya HTTPS vermeyin.
C. Yol iletişim kutusu → eğik çizgi ekleyin.

HTTP İsteği

3. Adım: Dinleyici Ekle

Konu grubuna sağ tıklayın, bir Dinleyici ekleyin ve Tabloda Sonucu Görüntüle'ye tıklayın.

Sonuçları Görüntüle

Adım 4: Testi Çalıştırma

Testi kaydedin ve yeşil ok düğmesine tıklayın.

Tablodaki SonuçSonucu Tabloda Görüntüle

Sonucu Analiz Etme Zamanı

  • Numune numarası - No. iş parçacığı veya kullanıcılar. Raporda "bu 1 numaralı örnektir" şeklinde bahsedilecektir, bu da bunun anlamı 1 numaralı iş parçacığı, ardından 2 numaralı iş parçacığı vb.
  • Başlangıç ​​zamanı - Her iş parçacığı veya kullanıcı için başlangıç ​​zamanı
  • İplik adı - İplik adı temel olarak burada iş parçacığı grubu adıdır. İplik grubu adında 1-1 , 1-2… şeklinde bir numaraya sahibiz, yani bu birincisi ilk kullanıcı ile ilk yineleme, ikinci kullanıcı ile ilk yineleme vb. anlamına gelir.
  • Etiket - Etiket, numune veya istek adınızdır.
  • Örnekleme zamanı - Bu örneğin (etiket) am/s cinsinden ne kadar zaman aldığını.
  • Durum - İsteğin durumu.
  • Bayt - Alınan bayt
  • Gönderilen baytlar - Gönderilen baytlar
  • Gecikme - Kullanıcıdan/tarayıcıdan bir süre isteği ve yanıt süresi. Sunucu işlem süresini içermeyen, sunucudan istemciye/tarayıcıya gönderilen istek açısından yanıt. (yalnızca istek ve yanıt süresi)
  • Bağlantı süresi - Bağlantı süresi, uygulamanızın milisaniye cinsinden sunucuya bağlanmasının ne kadar sürdüğünü gösterir.

Gecikme ve Bağlantı süresinin her zaman düşük olması gerektiğini bilmek önemlidir. Daha yüksek bağlantı süresi veya gecikme süresi, web sitesinin performansında bir sorun olduğu anlamına gelir.