Azure Load Testing'i yüksek ölçekli yük için yapılandırma

Bu makalede, Azure Yük Testi ile yük testinizi yüksek ölçekli için yapılandırmayı öğreneceksiniz. Azure Load Testing, yüksek ölçekli trafiğin benzetimini sağlamak için altyapı sağlamanın karmaşıklığını özetler. Yük testinin ölçeğini genişletmek için paralel test altyapısı örneklerinin sayısını yapılandırabilirsiniz. En iyi yük dağılımını elde etmek için Azure Load Testing panosunda test örneği sistem durumu ölçümlerini izleyebilirsiniz.

Önkoşullar

Yük testi için yük parametrelerini yapılandırma

Uygulamanızın kullanıcı trafiğinin benzetimini yapmak için yük desenini ve yük simülasyonu yapmak istediğiniz sanal kullanıcı sayısını yapılandırabilirsiniz. Yük testini birçok paralel test altyapısı örneğinde çalıştırarak Azure Load Testing, uygulamanıza yönelik trafiğin simülasyonunu oluşturan sanal kullanıcı sayısının ölçeğini genişletebilir. Yük düzeni, yükün yük testi süresi boyunca nasıl dağıtıldığını belirler. Yük desenlerine örnek olarak doğrusal, basamaklı veya ani yük verilebilir.

Yük testi, URL tabanlı veya JMeter tabanlı türüne bağlı olarak, hedef yükü ve yük desenini yapılandırmak için farklı seçenekleriniz vardır. Aşağıdaki tabloda iki test türü arasındaki farklar listelenmiştir.

Test türü Sanal kullanıcı sayısı Yük düzeni
URL tabanlı (temel) Yük testi yapılandırmasında hedef sanal kullanıcı sayısını belirtin. Artış süresine ve sanal kullanıcı sayısına göre doğrusal yük deseni.
URL tabanlı (gelişmiş) Yük testi yapılandırmasında test altyapısı sayısını ve örnek başına sanal kullanıcı sayısını belirtin. Yük desenini yapılandırın (doğrusal, adım, ani artış).
JMeter tabanlı Yük testi yapılandırmasındaki test altyapılarının sayısını belirtin. Test betiğindeki sanal kullanıcı sayısını belirtin. Test betiğinde yük desenini yapılandırın.

URL tabanlı testler için yük parametrelerini yapılandırma

URL tabanlı yük testinin yük parametrelerini belirtmek için:

  1. Azure portalında Azure Yük Testi kaynağınıza gidin.

  2. Sol gezinti bölmesinde Testler'i seçerek tüm testleri görüntüleyin.

  3. Listede yük testinizi ve ardından Düzenle'yi seçin.

    Screenshot that shows the list of load tests and the 'Edit' button.

    Alternatif olarak, test yapılandırmasını test ayrıntıları sayfasından da düzenleyebilirsiniz. Bunu yapmak için Yapılandır'ı ve ardından Test'i seçin.

  4. Temel Bilgiler sayfasında Gelişmiş ayarları etkinleştir'i seçtiğinizden emin olun.

  5. Testi düzenle sayfasında Yükle sekmesini seçin.

    URL tabanlı testler için paralel test altyapısı örneklerinin sayısını ve yük desenini yapılandırabilirsiniz.

  6. Paralel test altyapısı örneklerinin sayısını güncelleştirmek için Altyapı örnekleri kaydırıcı denetimini kullanın. Alternatif olarak, giriş kutusuna hedef değeri girin.

    Screenshot of the 'Load' tab on the 'Edit test' pane.

  7. Listeden Yük deseni değerini seçin.

    Her desen için ilgili yapılandırma ayarlarını doldurun. Grafik, yük deseninin ve yapılandırma parametrelerinin görsel bir gösterimini sağlar.

    Screenshot of the 'Load' tab when editing a load test, showing how to configure the load pattern.

JMeter tabanlı testler için yük parametrelerini yapılandırma

JMeter tabanlı yük testinin yük parametrelerini belirtmek için:

  1. Azure portalında Azure Yük Testi kaynağınıza gidin.

  2. Sol gezinti bölmesinde Testler'i seçerek tüm testleri görüntüleyin.

  3. Listede yük testinizi ve ardından Düzenle'yi seçin.

    Screenshot that shows the list of load tests and the 'Edit' button.

    Alternatif olarak, test yapılandırmasını test ayrıntıları sayfasından da düzenleyebilirsiniz. Bunu yapmak için Yapılandır'ı ve ardından Test'i seçin.

  4. Testi düzenle sayfasında Yükle sekmesini seçin. Test altyapısı örneklerinin sayısını güncelleştirmek için Altyapı örnekleri kaydırıcı denetimini kullanın veya değeri doğrudan giriş kutusuna girin.

    Screenshot of the 'Load' tab on the 'Edit test' pane.

  5. Testi değiştirmek ve yeniden çalıştırırken yeni yapılandırmayı kullanmak için Uygula'yı seçin.

Altyapı örneği ölçümlerini izleme

Test altyapısı örneklerinin performans sorunu olmadığından emin olmak için test altyapısı örneğinin kaynak ölçümlerini izleyebilirsiniz. Bir test örneği için yüksek kaynak kullanımı, yük testinin sonuçlarını olumsuz etkileyebilir.

Azure Yük Testi her örnek için dört kaynak ölçümü bildirir:

  • CPU yüzdesi.
  • Bellek yüzdesi.
  • Saniye başına ağ bayt sayısı.
  • Sanal kullanıcı sayısı.

Test çalıştırması süresi boyunca ortalama CPU yüzdesi veya bellek yüzdesi %75'in altında kalırsa test altyapısı örneği iyi durumda kabul edilir.

Altyapı kaynak ölçümlerini görüntülemek için:

  1. Yük Testi kaynağınıza gidin. Sol bölmede Testler'i seçerek yük testlerinin listesini görüntüleyin.

  2. Test çalıştırmalarının listesini görüntülemek için listeden yük testinizi seçin.

  3. Test çalıştırması listesinde test çalıştırmanızı seçin.

  4. Test çalıştırması panosunda , altyapı kaynak ölçümlerini görüntülemek için Altyapı sistem durumunu seçin.

    İsteğe bağlı olarak, filtre denetimlerini kullanarak belirli bir test altyapısı örneğini seçin.

Screenshot that shows the load engine health metrics on the test run dashboard.

İyi durumda olmayan altyapı örnekleriyle ilgili sorunları giderme

Bir veya birden çok örnek yüksek kaynak kullanımı gösteriyorsa, test sonuçlarını etkileyebilir. Sorunu çözmek için aşağıdaki adımlardan birini veya daha fazlasını deneyin:

  • Test altyapısı başına iş parçacığı sayısını (sanal kullanıcılar) azaltın. Hedef sanal kullanıcı sayısına ulaşmak için yük testi için altyapı örneklerinin sayısını artırabilirsiniz.

  • Betiğinizin yedekli kod olmadan etkili olduğundan emin olun.

  • Altyapı sistem durumu bilinmiyorsa testi yeniden çalıştırın.

Saniye başına istekleri belirleme

Azure Yük Testi'nin yük testiniz için oluşturabileceği saniye başına istek sayısı (RPS) sayısı, uygulamanın gecikme süresine ve sanal kullanıcı sayısına (VU) bağlıdır. Uygulama gecikme süresi, test altyapısı tarafından bir uygulama isteği göndermeden yanıtı almaya kadar geçen toplam süredir. Sanal kullanıcı sayısı, Azure Load Testing'in belirli bir zamanda gerçekleştirdiği paralel istek sayısıdır.

Saniye başına istek sayısını hesaplamak için şu formülü uygulayın: RPS = (VU sayısı) * (saniye cinsinden 1/gecikme süresi).

Örneğin, uygulama gecikme süresi 20 milisaniye (0,02 saniye) ise ve 2.000 VU yük oluşturuyorsanız, yaklaşık 100.000 RPS (2000 * 1/0,02s) elde edebilirsiniz.

Saniye başına hedef sayıda istek elde etmek için yük testinizin toplam sanal kullanıcı sayısını yapılandırın.

Dekont

Apache JMeter yalnızca sunucuya ve sunucuya geri gönderilen istekleri (başarılı veya değil) bildirir. Apache JMeter uygulamanıza bağlanamazsa, saniye başına gerçek istek sayısı maksimum değerden düşük olacaktır. Olası nedenler sunucunun isteği işleyemeyecek kadar meşgul olması veya bir TLS/SSL sertifikasının eksik olması olabilir. Bağlantı sorunlarını tanılamak için yük testi panosundaki Hatalar grafiğini denetleyebilir ve yük testi günlük dosyalarını indirebilirsiniz.

Test altyapısı örnekleri ve sanal kullanıcılar

Apache JMeter betiğinde paralel iş parçacığı sayısını belirtebilirsiniz. Her iş parçacığı, uygulama uç noktasına erişen bir sanal kullanıcıyı temsil eder. Betikteki iş parçacığı sayısını en fazla 250'nin altında tutmanızı öneririz.

Azure Yük Testi'nde test altyapısı örnekleri Apache JMeter betiğini çalıştırmakla sorumludur. Tüm test altyapısı örnekleri paralel olarak çalışır. Yük testi için örnek sayısını yapılandırabilirsiniz.

Yük testi için toplam sanal kullanıcı sayısı şu şekildedir: VU ' lar = (# iş parçacıkları) * (# test altyapısı örnekleri).

Hedef sayıda sanal kullanıcının benzetimini yapmak için JMeter betiğindeki paralel iş parçacıklarını ve yük testi için altyapı örneklerini uygun şekilde yapılandırabilirsiniz. Örnek sayısını iyileştirmek için test altyapısı ölçümlerini izleyin.

Örneğin, 1.000 sanal kullanıcının benzetimini yapmak için Apache JMeter betiğindeki iş parçacığı sayısını 250 olarak ayarlayın. Ardından yük testini dört test altyapısı örneğiyle (4 x 250 iş parçacığı) yapılandırın.

Azure Load Testing kaynağının konumu, test altyapısı örneklerinin konumunu belirler. Yük Testi kaynağındaki tüm test altyapısı örnekleri aynı Azure bölgesinde barındırılır.