JMeter Elemanlar ve Bileşenler: İplik Grubu, Numune Alma Cihazları

⚡ Akıllı Özet

JMeter Test planlarının yapı taşları öğelerdir: İş parçacığı grupları sanal kullanıcılar oluşturur, örnekleyiciler istekleri gönderir, dinleyiciler sonuçları görüntüler ve yapılandırma öğeleri bu isteklerin ihtiyaç duyduğu varsayılan değerleri ve verileri sağlar.

  • 🔘 Konu Grubu: Her bir iş parçacığı, test edilen uygulamayı çalıştıran bir sanal kullanıcıyı temsil eder.
  • ☑️ Örnekleyiciler: İstek protokolünü belirleyin — FTP, HTTP, JDBC, SMTP ve daha fazlası.
  • Dinleyiciler: Sonuçları grafik, ağaç, tablo veya günlük dosyası olarak görüntüleyin.
  • 🧪 Yapılandırma Elemanları: Örnekleyicilerin tüm test boyunca yeniden kullanacağı varsayılan değerleri ve değişkenleri ayarlayın.
  • Veriye dayalı çalışmalar: CSV Veri Kümesi Yapılandırması, her simüle edilmiş kullanıcıya farklı kimlik bilgileri sağlar.
  • Modern karşılıkları: BSF Sampler desteği kaldırıldı; mevcut sürümler JSR223 üzerinden komut dosyası çalıştırıyor. Groovy.

JMeter Öğeler: İş Parçacığı Grubu, Örnekleyiciler, Dinleyiciler ve Yapılandırma Öğeleri

Element Nedir? JMeter?

Farklı bileşenleri JMeter Elementler denir. Her Öğe belirli bir amaç için tasarlanmıştır.

Aşağıdaki şekil bazı ortak unsurları göstermektedir. JMeter ve bunların bir Konu Grubu altında nasıl yer aldığını gösterir.

JMeter Örnekleyiciler, Mantık Denetleyicileri, Dinleyiciler, Yapılandırma Elemanları, Doğrulama İşlemleri, Zamanlayıcılar ve İşlemcilerin üzerinde İş Parçacığı Grubunun yer aldığı eleman hiyerarşisi diyagramı.

Tüm bileşenleri aynı anda incelemek kafa karışıklığına ve sıkıntıya yol açabilir. Burada, başlamadan önce bilmeniz gereken temel bileşenleri ele alacağız. test yapmak in JMeter.

Geri kalan bileşenler, sonraki eğitimlerde kullanıldıkça ele alınacaktır. Bu eğitimde ele alınan unsurlar aşağıda listelenmiştir.

Konu Grubu

Bir iş parçacığı grubu, iş parçacıklarının bir koleksiyonudur. Her iş parçacığı, test edilen uygulamayı kullanan bir kullanıcıyı temsil eder. Temelde, her iş parçacığı sunucuya yapılan gerçek bir kullanıcı isteğini simüle eder.

İş parçacığı grubu için kontroller, her grup için iş parçacığı sayısını ayarlamanıza olanak tanır.

Örneğin, iş parçacığı sayısını 100 olarak ayarlarsanız, JMeter Aşağıdaki şemada gösterildiği gibi, test edilecek sunucuya 100 kullanıcı isteği oluşturulacak ve simüle edilecektir.

Bir diyagramı JMeter Kullanıcı 1'den Kullanıcı 100'e kadar olan kullanıcıları simüle eden ve her biri test edilen uygulamaya bir istek gönderen bir iş parçacığı grubu.

Thread Group paneli ayrıca bir geçiş dönemi de içerir; bu sayede söz konusu iş parçacıklarının başlatılması her kullanıcıya aynı anda değil, zamana yayılır.

Nümune

Zaten bildiğimiz gibi, JMeter HTTP, FTP, JDBC ve diğer birçok protokolün test edilmesini destekler.

Ayrıca, Thread Gruplarının sunucuya yapılan kullanıcı isteklerini simüle ettiğini de biliyoruz.

Peki bir Thread Group, hangi tür istek (HTTP, FTP vb.) yapması gerektiğini nasıl anlar?

Cevap, Örnekleyicilerdir.

Kullanıcı isteği bir FTP isteği, bir HTTP isteği, bir JDBC isteği vb. olabilir. Aşağıdaki şekilde bu eğitimde ele alınan örnekler listelenmiştir.

Ağaç diyagramı listesi JMeter Örnekleyiciler: FTP İsteği, HTTP İsteği, JDBC İsteği, BSF Örnekleyici, Erişim Günlüğü Örnekleyici ve SMTP Örnekleyici

FTP Talebi

Bir FTP sunucusunun performansını test etmek istediğinizi varsayalım. Bunun için bir FTP İstek örnekleyicisi kullanabilirsiniz. JMeter Bu görevi yapmak için. Bu denetleyici, bir FTP sunucusuna bir FTP "dosya indirme" veya "dosya yükleme" isteği göndermenizi sağlar.

Gösteren diyagram JMeter Bir dosyayı yüklemek veya indirmek için bir FTP sunucusuna FTP isteği göndermek.

Örneğin, test edilen bir FTP sunucusundan “Test.txt” dosyasını indirmek istiyorsanız, bazı parametreleri yapılandırmanız gerekir. JMeter Aşağıdaki şekilde görüldüğü gibi.

FTP İstek örnekleme paneli, sunucu olarak ftp.example.com, port 21, uzak dosya olarak Test.txt ve anonim giriş ile çalışmaktadır.

Panel, sunucuyu şu şekilde ayarlar: ftp.example.com, port 21, uzak dosya Test.txt ve get(RETR) seçeneği, yani JMeter Bu sunucuya bir FTP komutu gönderir ve dosyayı indirir.

HTTP İsteği

Bu örnekleyici, bir web sunucusuna HTTP/HTTPS isteği göndermenizi sağlar.

Aşağıdaki örneği düşünün. JMeter HTTP isteği gönderir. Google Web sitesini ziyaret eder ve siteden HTML dosyalarını veya resimleri alır.

Şeması JMeter HTTP isteği gönderiliyor Google Siteler ve karşılığında HTML ve resimler alma.

Öğreticide JMeter Performans testiBu HTTP isteği hakkında daha fazla bilgi vereceğiz. Bu, en çok kullanılan örnekleyicidir. web uygulaması testi iş buna dayanıyor.

JDBC Talebi

Bu örnekleyici, veritabanı komutlarını çalıştırmanıza olanak tanır. performans testi. Bir veritabanına bir JDBC İsteği (bir SQL sorgusu) gönderir.

Şeması JMeter Bir veritabanı sunucusuna SQL sorgusu göndermek ve sonucu almak.

Örneğin, bir veritabanı sunucusunda test_tbl adlı bir tabloda test_result adında bir alan saklanmaktadır. Bu verileri veritabanı sunucusundan sorgulamak istiyorsunuz, bu nedenle yapılandırma yapabilirsiniz. JMeter göndermek için SQL Verileri almak için bu sunucuya sorgu gönderin.

JDBC İstek paneli, Sorgu Türü "Select Deyimi" olarak ayarlanmış ve sorgu şu şekildedir: `select test_result from test_tbl where id = 1`

Buradaki sorgu türü SELECT ifadesidir ve sorgu şu şekildedir: select test_result from test_tbl where id = 1Bir JDBC Bağlantı Yapılandırma öğesi, Değişken Adı alanının işaret ettiği havuzu belirtmelidir.

BSF Örnekleyici

Bu örnekleyici, bir örnekleyici kullanarak bir örnekleyici yazmanıza olanak tanır. BSF komut dosyası dili.

İşte bir BSF Örnekleyicisinin örneği. JMeterKomut dosyası dili, komut dosyasına iletilen parametreler ve satır içi komut dosyası veya harici komut dosyası dosyası için alanlar içerir.

Komut dosyası dili, parametreler, harici komut dosyası dosyası ve satır içi komut dosyası gövdesi için alanlar içeren BSF Sampler paneli.

Kullanımdan kaldırma notu: BSF eleman ailesi, JSR223 elemanları lehine kullanımdan kaldırıldı ve artık listede yer almıyor. JMeter bileşen referansıMevcut sürümlerde şunu kullanın: JSR223 Numuneleyici 'da GroovyBu, betiği derler ve yük altında çok daha iyi performans gösterir. Yukarıdaki panel burada tutulmuştur çünkü eski test planları hala onu içermektedir.

Erişim Günlüğü Örnekleyicisi

Bu örnekleyici, erişim günlüklerini okumanıza ve HTTP istekleri oluşturmanıza olanak tanır. Günlük girdileri resimler, HTML, CSS vb. olabilir.

Varsayılan sunucu ve bağlantı noktası alanlarını, TCLogParser eklenti sınıfını ve günlük dosyasının konumunu gösteren Erişim Günlüğü Örnekleyici paneli.

Ayrıştırıcı alanı varsayılan olarak şudur: org.apache.jmeter.protocol.http.util.accesslog.TCLogParserve Günlük Dosyası Konumu alanı işaret eder. JMeter Tekrar oynatılmasını istediğiniz kayıtta.

SMTP Örnekleyici

Bir posta sunucusunu test etmek istiyorsanız, SMTP Örnekleyicisini kullanabilirsiniz. Bu örnekleyici, SMTP protokolünü kullanarak e-posta mesajları göndermek için kullanılır.

Sunucu ayarları, e-posta adresleri, kimlik doğrulama ve güvenlik seçenekleri ve mesaj ayarları içeren SMTP Örnekleyici paneli.

Panel, sunucu ayarlarını, e-posta adreslerini, kimlik doğrulama ve mesaj ayarlarını gruplandırır ve Port alanının yanında varsayılan portları gösterir: SMTP 25, SSL 465 ve StartTLS 587.

Dinleyiciler

Dinleyiciler test yürütmesinin sonuçlarını gösterir. Sonuçları ağaç, tablo, grafik veya günlük dosyası gibi farklı formatlarda sunabilirler.

Bir Listener'ın sonuçları grafik, ağaç, tablo ve rapor görünümlerine nasıl yaydığını gösteren diyagram.

MKS Grafik Sonuçları Bu komut, sunucu yanıt sürelerini bir grafik üzerinde görüntüler ve altına örnek sayısı, ortalama, sapma, verimlilik ve medyan değerlerini yazdırır.

Grafik Sonuçları, dinleyicinin yanıt sürelerini verilerle, ortalama, medyan, sapma ve verimlilik serileriyle birlikte grafiksel olarak gösterir.

Sonuç Ağacını Görüntüle Her kullanıcı isteğinin sonucunu temel HTML formatında gösterir; Örnekleyici sonuç sekmesinde yükleme süresi, gecikme, boyut ve yanıt kodu bilgileri yer alır.

Solda istek listesi ve Sampler sonuç sekmesinde 200 yanıt kodunu gösteren Sonuç Ağacı dinleyicisini görüntüleyin.

Sonuçları Tabloda Görüntüle Test sonuçlarının özetini tablo formatında, her örnek için bir satır olacak şekilde gösterir.

Sonuçları Tabloda Görüntüle dinleyicisi; örnek numarası, başlangıç ​​zamanı, iş parçacığı adı, etiket ve örnek zamanı için sütunlar içerir.

Bir günlük dosyası, aynı özet bilgiyi metin olarak kaydeder; bu, grafik arayüzü olmadan bir test çalıştırıldığında sakladığınız şeydir.

Örnek sayımları, ortalamaları ve TOPLAM satırını içeren örnekleyici etiketlerini listeleyen toplu günlük özeti.

En iyi pratik: GUI dinleyicileri bellek tüketir ve sonuçları çarpıtır; bu nedenle gerçek yük testlerini GUI olmayan modda çalıştırın ve kaydedilen sonuç dosyasını daha sonra açın.

Yapılandırma Öğeleri

Yapılandırma Öğeleri, örnekleyiciler tarafından daha sonra kullanılmak üzere varsayılan değerleri ve değişkenleri ayarlar.

Aşağıdaki şekil yaygın olarak kullanılan bazı yapılandırma öğelerini göstermektedir. JMeter.

Ağaç diyagramı JMeter Yapılandırma öğeleri: CSV Veri Kümesi Yapılandırması, HTTP Çerez Yöneticisi, Giriş Yapılandırma Öğesi, HTTP İstek Varsayılanları ve FTP İstek Varsayılanları

CSV Veri Kümesi Yapılandırması

Diyelim ki, farklı kimlik bilgileriyle giriş yapan 100 kullanıcı için bir web sitesini test etmek istiyorsunuz. Komut dosyasını 100 kez kaydetmenize gerek yok. Farklı giriş kimlik bilgilerini girmek için komut dosyasını parametreleştirebilirsiniz. Bu giriş bilgileri (örneğin, kullanıcı adı ve şifre) bir metin dosyasında saklanabilir. JMeter Bu, metin dosyasından farklı parametreleri okumanıza olanak tanıyan bir öğeye sahiptir. Bu, bir dosyadan satırları okumak ve bunları değişkenlere ayırmak için kullanılan "CSV Veri Kümesi Yapılandırması"dır.

JMeter Giriş denetleyicisi altında seçili CSV Veri Kümesi Yapılandırması ve HTTP İstek Varsayılanları ile birlikte test planı ağacı.

Bu, CSV verisine bir örnektir. Hedef web sitenize giriş yapmak için kullanılan kullanıcı adlarını ve şifrelerini içeren bir metin dosyasıdır.

csv_data.txt adlı metin dosyası, kullanıcı adı, parola ve çerez uzunluğu değerlerini virgülle ayrılmış dört satır halinde içermektedir.

HTTP Çerez Yöneticisi

Bunu bir örnekle anlayalım.

Tarayıcınızı kullandınız (Firefox(Chrome ve benzeri tarayıcılar) göz atmak için www.google.com.

Kullanıcı adınız ve şifrenizle giriş yapıyorsunuz.

Kullanıcı adınız ve şifreniz çerez olarak bilgisayarınıza kaydedilecektir.

Bir dahaki sefere ziyaret ettiğinizde www.google.comTekrar giriş yapmanıza gerek yok, çünkü tarayıcınız giriş yapmak için çerezlerinizi kullanıcı verisi olarak kullanacaktır.

HTTP Çerez Yöneticisi, bir web tarayıcısıyla aynı özelliğe sahiptir. Bir HTTP isteğiniz varsa ve yanıt bir çerez içeriyorsa, Çerez Yöneticisi bu çerezi otomatik olarak saklar ve söz konusu web sitesine yapılacak tüm gelecekteki istekler için kullanır.

HTTP İstek Varsayılanları

Bu öğe, HTTP İstek denetleyicilerinizin kullandığı varsayılan değerleri ayarlamanıza olanak tanır.

Örneğin,

Google.com sunucusuna 100 HTTP isteği gönderiyorsunuz.

100 isteğin tamamı için google.com sunucu adını manuel olarak girmeniz gerekecektir.

Bunun yerine, aşağıda gösterildiği gibi "Sunucu Adı veya IP" alanı google.com olarak ayarlanmış tek bir HTTP İstek Varsayılanları öğesi ekleyebilirsiniz.

HTTP İstek Varsayılanları paneli, sunucu adı olarak google.com, port 80 ve bağlantı ve yanıt zaman aşımı ayarlarıyla birlikte.

100 kere yazmanıza gerek yok. Bu unsur, eğitimde detaylı olarak açıklanacaktır. JMeter Performans testi.

Oturum Açma Yapılandırma Öğesi

Giriş Yapılandırma Öğesi, örnekleyicilerde kullanıcı adı ve parola ayarlarını eklemenize veya geçersiz kılmanıza olanak tanır.

Örneğin, bir kullanıcının web sitesine giriş yapmasını simüle etmek istiyorsunuz. www.facebook.com Kullanıcı adı ve şifre ile. Bu kullanıcı adı ve şifre ayarını bir kullanıcı isteğine eklemek için Giriş Yapılandırma Öğesini kullanabilirsiniz.

Kullanıcı adı olarak guru99 girilmiş ve parola alanı gizlenmiş olan Giriş Yapılandırma Öğesi paneli.

Giriş Yapılandırma Öğesi ile CSV Veri Kümesi Yapılandırması Arasındaki Fark

Oturum Açma Yapılandırma Öğesi CSV Veri Kümesi Yapılandırması
Bir kullanıcı girişini simüle etmek için kullanılır Birden fazla kullanıcının giriş yapmasını simüle etmek için kullanılır.
Sadece giriş parametreleri (kullanıcı adı ve şifre) için uygundur. Çok sayıda parametreye uygun

Bu iki unsur birlikte, karşılaşabileceğiniz hemen her kimlik doğrulama senaryosunu kapsar. performans test araçları çalışır.

SSS

Söyler JMeter Tüm iş parçacıklarının çalışmaya başlaması ne kadar sürer? 100 saniyelik bir artış süresiyle on iş parçacığı on saniye arayla başlatılır. Çok kısa bir artış süresi sunucuyu aşırı yükler ve gerçek bir kullanıcının asla neden olmayacağı hatalara yol açar.

Zamanlayıcılar, istekler arasında bir duraklama ekleyerek simüle edilen yükün, bir sel gibi değil, gerçek bir tarama deneyimine benzemesini sağlar. Doğrulama işlemleri her yanıtı kontrol eder ve durum kodu, metin veya süre belirttiğinizle eşleşmediğinde örneği başarısız olarak işaretler.

Altlarındaki istekleri gruplandırır ve dallandırırlar. Bir Döngü Denetleyicisi alt isteklerini tekrarlar, bir Eğer Denetleyicisi bunları koşullu olarak çalıştırır ve bir İşlem Denetleyicisi tüm grubu sonuçlarda zamanlanmış tek bir adım olarak raporlar.

Hayır. View Results Tree gibi dinleyiciler her örneği tamponlar ve bildirdikleri sayıları bozarlar. Testi GUI olmayan modda çalıştırın, sonuçları bir dosyaya yazın, ardından çalıştırma bittiğinde bu dosyayı bir dinleyiciye yükleyin.

Önce yapılandırma öğeleri ve ön işlemciler uygulanır, ardından örnekleyici çalışır, sonra son işlemciler, doğrulamalar ve dinleyiciler devreye girer. Kapsam da önemlidir: plan düzeyine yerleştirilen bir öğe, altındaki her isteğe uygulanır.

Desen tespiti için kullanışlıdır. Bir sonuç dosyasını bir asistana beslemek, satırları okumaktan çok daha hızlı bir şekilde en yavaş etiketleri, hata kümelerini ve yanıt süresi eğilimlerini ortaya çıkarır. Harekete geçmeden önce bulguyu her zaman ham örneklerle doğrulayın.

Evet. Taslak hazırlıyor. Groovy eski içintracJSR223 elementi içinde değerler oluşturma, veri yükleri oluşturma ve değişkenler ayarlama. Her öneriyi kontrol edin, çünkü genellikle kullanımdan kaldırılmış BeanShell API'sine veya değişkenlere erişim sağlar. JMeter Açığa çıkarmaz.

Bir iş parçacığı grubu ve bir örnekleyici. Geri kalan her şey isteğe bağlıdır. Uygulamada, sonuçların görünür olması için bir dinleyici eklenir ve aynı değerler istekler arasında tekrarlanmaya başladığında varsayılan değerler veya bir veri dosyası eklenir.

Bu yazıyı şu şekilde özetleyin: