Ana içeriğe geç

Yük Testi Konfigürasyonu

TestFly, testfly.yml içerisinde merkezi bir loadtest: bloğu sunar. Bu sayede yerel çalışma ortamı ile CI/CD hatları arasında tutarlı performans eşikleri ve varsayılanları tanımlanabilir.


1. loadtest: Konfigürasyon Bloğu​

testfly.yml dosyanıza opsiyonel olarak loadtest: bloğunu ekleyin:

loadtest:
enabled: false # ayrılmış bayrak; açık runner çağrıları henüz bu değerle engellenmez
baseUrl: https://api.example.com
engine: auto # auto (varsa Gatling, yoksa JDK) | gatling | jdk
users: 10 # varsayılan eşzamanlı sanal kullanıcı sayısı
rampUp: 10s # kademeli kullanıcı artış süresi (örn: 10s, 1m)
hold: 30s # zirve yükün korunacağı süre (örn: 30s, 5m)
cooldown: 5s # kademeli soğuma süresi (örn: 5s)
maxUsers: 1000 # izin verilen maksimum kullanıcı sayısı
resultsDir: target/loadtest # çıktıların ve raporların kaydedileceği dizin
reportEnabled: true # HTML yük testi raporu oluştur
requestTimeoutSeconds: 30 # HTTP istek zaman aşımı (saniye)

2. Ayar Parametreleri Tablosu​

ParametreTipVarsayılanAçıklama
enabledbooleanfalseAyrılmış etkin bayrak (features.loadtest ile geçersiz kılınabilir); mevcut LoadTestRunner.run() yolu bu değeri uygulamaz.
baseUrlstringnullSenaryo/annotation önceliğinden sonraki hedef adres. Gatling execution.baseUrl değerine düşer; JDK motoru bu değeri veya senaryo/annotation adresini zorunlu tutar.
enginestringautoÇalıştırma motoru: auto (varsa Gatling, yoksa JDK), gatling (kesinlikle Gatling gerektirir), jdk (yerel sanal iş parçacıkları / virtual threads).
usersint10Kodda belirtilmediğinde kullanılacak varsayılan eşzamanlı kullanıcı sayısı.
rampUpstring10sZirve kullanıcı sayısına ulaşırken geçecek kademeli artış süresi (örn: 10s, 1m).
holdstring30sZirve kullanıcı yükünün korunacağı süre (örn: 30s, 5m).
cooldownstring5sTest bitimindeki kademeli soğuma süresi (örn: 5s).
maxUsersint1000İzin verilen tavan kullanıcı sayısı (güvenlik sınırı).
resultsDirstringtarget/loadtestYük testi metrik ve rapor dosyalarının yazılacağı dizin.
reportEnabledbooleantrueMüstakil HTML yük testi raporunun ve Gatling bağlantılarının üretilmesini sağlar.
requestTimeoutSecondsint30HTTP bağlantı ve istek zaman aşımı süresi (saniye).

3. Ortam Profilleri ile CI Ayarları​

TestFly profillerini kullanarak yerel ortamda hızlı duman testleri, CI üzerinde ise yoğun yük testleri koşturabilirsiniz:

testfly.yml (Yerel Geliştirici Ortamı)​

loadtest:
engine: auto
users: 5
rampUp: 2s
hold: 5s

testfly-performance.yml (CI / Performans Ortamı)​

loadtest:
engine: gatling
users: 250
rampUp: 30s
hold: 120s
cooldown: 10s
reportEnabled: true

Profili Maven ile çalıştırma:

mvn test -Dtestfly.profile=performance

4. Master Anahtar (Feature Switchboard) Entegrasyonu​

TestFly'ın anahtar panosu üzerinden yük testleri tüm pakette tek satırla kapatılabilir veya zorla açılabilir:

features:
loadtest: false # Tüm yük testi koşturmalarını devre dışı bırakır