Azure Load Testing ile JMeter kullanıcı özelliklerini kullanma
Bu makalede, Azure Load Testing ile Apache JMeter kullanıcı özelliklerini yapılandırmayı ve kullanmayı öğrenin. Kullanıcı özellikleriyle, test ayarlarını JMeter test betiğinin dışında tutarak testinizi yapılandırılabilir hale getirebilirsiniz. Kullanıcı özellikleri için kullanım örnekleri şunlardır:
- JMX test betiğini farklı uygulama uç noktalarına sahip birden çok dağıtım ortamlarında kullanmak istiyorsunuz.
- Test betiğinizin duman testleri, en yüksek yük veya batırma testleri gibi birden çok yük desenini barındırması gerekir.
- Sonuç dosyası biçimi gibi JMeter ayarlarını yapılandırarak varsayılan JMeter davranışını geçersiz kılmak istiyorsunuz.
Azure Load Testing standart Apache JMeter özelliklerini destekler ve bir kullanıcı özellikleri dosyasını karşıya yüklemenize olanak tanır. Yük testi başına bir kullanıcı özellikleri dosyası yapılandırabilirsiniz.
Alternatif olarak, testlerinizi yapılandırılabilir hale getirmek için Azure Load Testing'te ortam değişkenlerini ve gizli dizileri de kullanabilirsiniz.
Dekont
Azure Yük Testi belirli JMeter özelliklerini geçersiz kılar ve bu özellikler için belirttiğiniz değerleri yoksayar. Azure Yük Testi'nin geçersiz kıldığını JMeter özelliklerinin listesi hakkında daha fazla bilgi edinin.
Önkoşullar
- Etkin aboneliği olan bir Azure hesabı. Azure aboneliğiniz yoksa başlamadan önce ücretsiz bir hesap oluşturun.
- Azure Yük Testi kaynağı. Azure Yük Testi kaynağı oluşturmanız gerekiyorsa, yük testi oluşturma ve çalıştırma hızlı başlangıcına bakın.
Yük testinize JMeter kullanıcı özellikleri dosyası ekleme
Bir .properties dosyasını yük testine yükleyerek JMeter test betiğinizin kullanıcı özelliklerini tanımlayabilirsiniz. Azure Load Testing, yük testi başına tek bir JMeter özellikleri dosyasını destekler. Ek özellik dosyaları yoksayılır.
Aşağıdaki kod parçacığında üç kullanıcı özelliğini tanımlayan ve yapılandırma ayarını yapılandıran örnek bir kullanıcı özellikleri dosyası gösterilmektedir jmeter.save.saveservice.thread_name
:
# peak-load.properties
# User properties for testing peak load
threadCount=250
rampUpSeconds=30
durationSeconds=600
# Override default JMeter properties
jmeter.save.saveservice.thread_name=false
Azure portalını kullanarak yük testinize kullanıcı özellikleri dosyası eklemek için şu adımları izleyin:
Sol bölmede Testler'i seçerek test listesini görüntüleyin.
Onay kutusunu seçerek listeden testinizi seçin ve ardından Düzenle'yi seçin. Alternatif olarak, yeni bir yük testi oluşturmak için Test oluştur'u seçin.
Test planı sekmesini seçin.
Bilgisayarınızdan özellikler dosyasını seçin ve ardından Karşıya Yükle'yi seçerek dosyayı Azure'a yükleyin.
Dosya ilgi açılan listesinde Kullanıcı özellikleri'ni seçin.
Yük testi için kullanıcı özellikleri dosyası olarak yalnızca bir dosya seçebilirsiniz.
Testi değiştirmek için Uygula'yı veya gözden geçir + oluştur'u ve ardından Oluştur'u seçerek yeni testi oluşturun.
JMeter'da başvuru özellikleri
Azure Yük Testi, JMeter test betiğinizdeki (JMX) kullanıcı özelliklerine başvurmak için yerleşik Apache JMeter işlevselliğini destekler. Daha önce karşıya yüklediğiniz özellik dosyasından özellik değerlerini almak için __property veya __P işlevlerini kullanabilirsiniz.
Aşağıdaki kod parçacığında bir JMX dosyasındaki özelliklere başvurma örneği gösterilmektedir:
<ThreadGroup guiclass="ThreadGroupGui" testclass="ThreadGroup" testname="Test home page" enabled="true">
<stringProp name="ThreadGroup.on_sample_error">continue</stringProp>
<elementProp name="ThreadGroup.main_controller" elementType="LoopController" guiclass="LoopControlPanel" testclass="LoopController" testname="Loop Controller" enabled="true">
<boolProp name="LoopController.continue_forever">false</boolProp>
<intProp name="LoopController.loops">-1</intProp>
</elementProp>
<stringProp name="ThreadGroup.num_threads">${__P(threadCount,1)}</stringProp>
<stringProp name="ThreadGroup.ramp_time">${__P(rampUpSeconds,1)}</stringProp>
<boolProp name="ThreadGroup.scheduler">true</boolProp>
<stringProp name="ThreadGroup.duration">${__P(durationSeconds,30)}</stringProp>
<stringProp name="ThreadGroup.delay"></stringProp>
<boolProp name="ThreadGroup.same_user_on_next_iteration">true</boolProp>
</ThreadGroup>
Alternatif olarak, JMeter kullanıcı arabiriminde özellikleri de belirtirsiniz. Aşağıdaki görüntüde, JMeter iş parçacığı grubunu yapılandırmak için özelliklerin nasıl kullanılacağı gösterilmektedir:
Yük testi sırasındaki hataları gidermek için JMeter hata günlüklerini indirebilirsiniz.
Sonraki adımlar
- Azure Load Testing tarafından geçersiz kılınan JMeter özellikleri hakkında daha fazla bilgi edinin.
- Ortam değişkenlerini ve gizli dizileri kullanarak yük testlerini parametreleştirme hakkında daha fazla bilgi edinin.
- Başarısız yük testlerini tanılama hakkında daha fazla bilgi edinin.