Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Copilot kullanarak kolayca Locust yük testleri oluşturmak, yerel olarak yineleme yapmak ve Azure'da zahmetsizce ölçeklendirmek için Visual Studio Code için Azure Yük Testi uzantısını kullanmayı öğrenin. İster Locust'ta yeni ister performans testi uzmanı olun, Azure Load Testing uzantısı doğrudan VS Code ortamınızdan test oluşturmayı, yinelemeyi ve ölçeklendirmeyi kolaylaştırır. Azure Yük Testi, bulut ölçeğinde yük testi çalıştırmanızı sağlayan yönetilen bir hizmettir. Locust , tüm testlerinizi Python kodunda yazmanızı sağlayan bir açık kaynak yük testi aracıdır.
Bu hızlı başlangıç, gerçekçi yük testleri oluşturma, iyileştirme ve çalıştırma konusunda size yol gösterir. Sonunda, Copilot destekli iyileştirmelerle geliştirilmiş ve Azure Load Testing'te ölçeklendirilmeye hazır bir Postman koleksiyonu, Uykusuzluk koleksiyonu veya .http dosyasından oluşturulmuş tam işlevsel bir yük testi betiğiniz vardır.
Önkoşullar
- VS Code için Azure Yük Testi uzantısı. Buradan indirin ve yükleyin.
- GitHub Copilot. Test betikleri oluşturmak ve geliştirmek için VS Code'da Copilot'ı ayarlayın. Aboneliğiniz yoksa ücretsiz denemeyi etkinleştirebilirsiniz.
- Python & Locust. Locust test betiklerinizi VS Code'dan yerel olarak çalıştırmak ve doğrulamak için gereklidir. Locust'u buraya yükleyin.
- Aktif bir aboneliğe sahip bir Azure hesabı. Azure Yük Testi'nde yük testlerini büyük ölçekte çalıştırmak için gereklidir. Ücretsiz hesap oluşturun.
Tavsiye
VS Code'un GitHub Copilot Sohbeti birden çok yapay zeka modeli sunar. Sohbet giriş alanındaki model seçiciyi kullanarak model değiştirebilirsiniz. Hangisini kullanacağınızdan emin değilseniz GPT-4o'yu öneririz.
İzlenecek yolu açma
Başlamak için VS Code'da komut paletini açın ve şunu çalıştırın: Yük Testi: İzlenecek Yol'u açın. Bu rehber, uzantının ana giriş noktalarını tanıtır.
Ayrıca, Yük Testi ön ekini kullanarak özelliklere doğrudan komut paletinden de erişebilirsiniz. Yaygın olarak kullanılan bazı komutlar şunlardır:
Yük Testi: Çekirge testi oluşturma
Yük Testi: Yük testi çalıştırma (yerel)
Yük Testi: Yük testi çalıştırma (Azure Yük Testi)
Copilot ile Locust betiği oluşturun
Mevcut herhangi bir Postman koleksiyonundan, Insomnia koleksiyonundan veya .http dosyasından bir Locust betiği oluşturabilirsiniz. Dosya birden çok istek içeriyorsa, Copilot bunları uyumlu bir senaryo halinde sıralamaya çalışır.
İzlenecek yolda Yük Testi Oluştur düğmesine tıklayın veya komut paletinden Yük Testi: Çekirge Testi Oluştur'u çalıştırın.
Otomatik olarak Locust test betiği oluşturmak için kaynağı seçebilirsiniz:
- Postman koleksiyonu, Uykusuzluk koleksiyonu veya .http dosyası seçmek, Copilot'un birden çok API işlemini, istek verilerini ve kimlik doğrulama ayrıntılarını ayıklamasını sağlar ve daha eksiksiz ve gerçekçi bir yük testi oluşturur.
- Tek URL'yi seçtiğinizde tek bir uç nokta URL'si girerek özelleştirebileceğiniz veya genişletebileceğiniz basit bir betik oluşturulur.
Bu izlenecek yol için dosyasını kullanarak örnek bir Locust test betiği oluşturmak amacıyla
petstore-sample.httpseçebilirsiniz.Copilot, seçilen dosyayı analiz eder ve API isteklerini, gerçek kullanım senaryolarını simüle etmek ve kimlik doğrulamasını güvenli bir şekilde işlemek için otomatik olarak sıralayan Çekirge tabanlı bir yük testi betiği oluşturur.
Betik oluşturulduktan sonra , Copilot Sohbet penceresi ortam değişkenlerini tanımlama gibi diğer kurulum adımlarını önerir. Copilot ortam değişkenleri önerirse projenizde bir
.envdosya oluşturun ve önerilen değerleri ekleyin.
Yük testi betiğini özelleştirme
Testi çalıştırmadan önce Copilot ile geliştirebilirsiniz. Örneğin, betiği inceleyerek her istekle aynı istek yükünün gönderildiğini fark edebilirsiniz:
payload = {
"id": self.pet_id,
"name": "Fluffy",
"category": {"id": 1, "name": "Dogs"},
"photoUrls": ["https://example.com/photo.jpg"],
"tags": [{"id": 1, "name": "cute"}],
"status": "available"
}
İstek yükünü rastgele ekleyerek testi daha dinamik hale getirmek için:
- Copilot Sohbet panelini açın.
- Şunu yazın:
Randomize request payloadsve Enter tuşuna basın. - Copilot, rastgele hale getirmek için önerilen bir değişiklik oluşturur.
- Copilot Sohbet penceresinde oluşturulan kod parçacığının üzerinde görünen Düzenleyicide Uygula'ya tıklayın.
- Değişiklikleri gözden geçirdikten sonra, betiğinizi kabul edip güncellemek için Sakla veya Kaydet tıklayın.
- Dosyayı kaydetme
Artık her istek daha gerçekçi bir kullanıcı etkileşiminin simülasyonunu oluşturur. Kod aşağıdaki kod parçacığına benzer:
payload = {
"id": self.pet_id,
"name": f"Pet{random.randint(1, 1000)}",
"category": {"id": random.randint(1, 10), "name": random.choice(["Dogs", "Cats", "Birds"])},
"photoUrls": [f"https://example.com/photo{random.randint(1, 100)}.jpg"],
"tags": [{"id": random.randint(1, 10), "name": random.choice(["cute", "friendly", "playful"])}],
"status": random.choice(["available", "pending", "sold"])
}
Yük testini çalıştırma
Yük testinizi iki şekilde çalıştırabilirsiniz:
- Hızlı doğrulama için yerel olarak çalıştırma
- Yüksek ölçekli, çok bölgeli yük için Azure Yük Testi'nde çalıştırma
Hızlı doğrulama için yerel olarak çalıştırma
Testinizi hızla doğrulamak için Visual Studio Code'dan Locust kullanarak yerel olarak çalıştırın:
Komut paletini açın ve şunu çalıştırın: Yük Testi: Yük testi çalıştırma (yerel).
Locust web kullanıcı arabirimi tarayıcıda otomatik olarak başlatılır. Locust sunucusunun hazır olması ve tarayıcının açılması birkaç saniye sürebilir.
Yeni yük testi başlat sayfasında giriş alanlarını gözden geçirin ve Başlat'a tıklayın. Locust istek göndermeye, hataları günlüğe kaydetmeye ve performans istatistiklerini izlemeye başlar.
Yanıt sürelerini, hata oranlarını ve istek aktarım hızını analiz etmek için Locust kullanıcı arabirimini keşfedin.
Tavsiye
Eğer Locust, Retrieve Pet ve Update Pet istekleri için hatalar bildiriyorsa, bunun nedeni Pet Store API'sinin istekleri işleme biçimi olabilir. Copilot'a "run_scenario istekler arasında rastgele gecikmeler ekleme" sorusunu sormayı deneyin. Betiğin kendisiyle ilgili bir sorun olduğundan şüpheleniyorsanız ortam değişkeni olarak ayarlayın DEBUG_MODE=True ve daha ayrıntılı hata ayıklama bilgileri almak için testi yeniden çalıştırın.
Testi bir VS Code Terminalinden çalıştırmayı tercih ediyorsanız:
VS Code'da bir terminal açın.
Aşağıdaki komutu çalıştırın:
locust -f path/to/locustfile.py -u 10 -r 2 --run-time 1m-
-f path/to/locustfile.py: Locust test betiğini belirtir. -
-u 10: En fazla 10 sanal kullanıcının simülasyonunu oluşturur. -
-r 2: Saniyede iki sanal kullanıcıyı hızlandırıyor. -
--run-time 1m: Testi 1 dakika çalıştırır.
-
Locust web kullanıcı arabirimini görüntülemek için bir tarayıcıyı
http://0.0.0.0:8089adresine açın.
Azure Yük Testi'nde ölçeklendirme
Birden çok bölgede binlerce eşzamanlı sanal kullanıcının benzetimini yapmanız gereken yüksek yük senaryoları için testinizi Azure Yük Testi'nde çalıştırabilirsiniz.
Büyük ölçekli bir test yürütmek için:
Komut paletini açın ve şunu çalıştırın: Yük Testi: Yük testi çalıştırma (Azure Yük Testi).
Yapılandırma dosyası oluştur... öğesini seçin.
Aşağıdakiler dahil kılavuzlu kurulumu izleyin:
Azure'da oturum açma ve aboneliğinizi seçme.
Yeni bir Azure Load Testing kaynağı oluşturma veya var olan bir kaynağı seçme.
Trafiği genel olarak dağıtmak için yük testi bölgelerini seçme.
Kurulum tamamlandıktan sonra bir YAML yapılandırma dosyası (örneğin,
loadtest.config.yaml) oluşturulur ve çalışma alanı kök klasörünüze eklenir.Bu dosya Locust betiğini, yükleme parametrelerini, ortam değişkenlerini, bölgeleri ve diğer dosyaları (örneğin, CSV veri kümeleri) tanımlar.
Varsayılan değerler, seçilen her bölgede 120 saniye boyunca çalışan 200 sanal kullanıcıdır.
Gelecekteki yük testi yürütmelerini yeniden kullanmak ve otomatikleştirmek için bu dosyayı deponuzda işleyin.
Copilot, yürütmeden önce yapılandırmayı doğrular. Sohbet penceresinde sağlanan yönergeleri izleyin. Aksi takdirde, her şey uygunsa test betiği ve ilgili dokümanları Azure Load Testing'e yüklenir ve yürütme için hazırlanır. Bu işlem bir dakika kadar sürebilir ve ilerleme durumu Çıkış panelinde gösterilir.
Test başladığında, VS Code'un sağ alt köşesinde bir bildirim (toast mesajı) görüntülenir. Test yürütmesini gerçek zamanlı olarak izlemek için Azure Portalda Aç düğmesine tıklayın.
Test başladığında, sağ alt köşede bir bildirim (bildirim mesajı) görüntülenir. Test yürütmesini gerçek zamanlı olarak izlemek için Azure Portalda Aç düğmesine tıklayın.
Tavsiye
Önceki çalıştırmalardan test sonuçlarına hızlı bir şekilde erişmek için şu komutu kullanın: Yük Testi: Yük testi çalıştırmalarını görüntüleme.
Bu hızlı başlangıçta gibi API_KEY hassas değişkenler bir .env dosyada depolandı ve bulut hizmetine yüklendi. Ancak en iyi yöntem olarak gizli diziler Azure Key Vault'ta güvenli bir şekilde yönetilmelidir. Uzantı, bunu ayarlama konusunda rehberlik sağlar.
Bu hızlı başlangıçta, şu ana kadar API_KEY gibi hassas değişkenler bir .env dosyada depolandı ve bulut hizmetine yüklendi. Ancak en iyi yöntem olarak gizli diziler Azure Key Vault'ta güvenli bir şekilde yönetilmelidir. Uzantı, bunu ayarlama konusunda rehberlik sağlar.
Copilot Sohbet penceresini açın, yazın
@testing /setupLoadTestSecretsInAzureve Enter tuşuna basın.Copilot aşağıdaki adımlarda size yol gösterir:
Copilot size şu yollarda yol gösterir:
- Azure Key Vault oluşturma.
- Azure Yük Testi kaynağınıza yönetilen kimlik atama.
- Azure Key Vault'a gizli bilgiler ekleme.
- YAML dosyanızı,
.envyerine Key Vault gizlilerine başvuracak şekilde yapılandırma.
Locust betiğinizi veya YAML yapılandırmanızı her değiştirdiğinizde, Yük testini çalıştır (Azure Yük Testi) komutunu yürüterek testi yeniden çalıştırabilirsiniz.
Özet
Bu hızlı başlangıçta, Copilot kullanarak kolayca Locust yük testleri oluşturmak, yerel olarak yineleme yapmak ve Azure'da zahmetsizce ölçeklendirmek için Visual Studio Code için Azure Yük Testi uzantısını kullandınız. VS Code için Azure Load Testing uzantısı, test senaryonuz için gerçekçi bir test betiği oluşturma sürecini basitleştirir. Azure Load Testing, uygulamanız için yüksek ölçekli kullanıcı yükünün benzetimini yapma altyapısını ayarlamanın karmaşıklığını özetler.
Yük testini daha da genişleterek yük altındaki uygulamanın sunucu tarafı ölçümlerini izleyebilir ve uygulama gereksinimlerinizi karşılamadığında uyarı almak üzere test başarısız ölçümlerini belirtebilirsiniz. Uygulamanın iyi çalışmaya devam ettiğinden emin olmak için yük testini sürekli tümleştirme ve sürekli dağıtım (CI/CD) iş akışınızın bir parçası olarak da tümleştirebilirsiniz.
İlgili içerik
- Uygulamanız için sunucu tarafı ölçümlerini izlemeyi öğrenin.
- CI/CD ile otomatik performans testi yapılandırmayı öğrenin.