Gatling, web uygulamalarının yük ve performans testlerini gerçekleştirmek için tasarlanmış açık kaynaklı ve yüksek performanslı bir test çerçevesidir. Scala tabanlı DSL ile senaryolar yazılır; asenkron, reaktif mimarisi sayesinde binlerce sanal kullanıcıyı minimum sistem kaynağıyla simüle edebilir. Detaylı HTML raporları ve CI/CD entegrasyonuyla kurumsal ekiplerin performans doğrulama süreçleri için vazgeçilmez bir araçtır.
Öne Çıkan Özellikleri
- Asenkron reaktif mimariyle yüksek verimli yük simülasyonu
- Scala veya Java DSL ile okunabilir senaryo yazımı
- HTTP, WebSocket ve gRPC protokol desteği
- Gerçek zamanlı metrik takibi ve detaylı HTML raporları
- CI/CD pipeline (Jenkins, GitHub Actions) entegrasyonu
- Grafana ve InfluxDB ile gelişmiş izleme
- Kayıt modu ile tarayıcı trafiğini senaryoya dönüştürme
- Apache-2.0 lisansıyla ücretsiz; kurumsal destek için ücretli plan
Kullanıcıların En Çok Sorduğu Sorular
Gatling’de basit bir HTTP yük testi nasıl yazılır?
1. Gatling’i indirin ve proje dizininde simulations klasörüne Scala dosyası oluşturun.
2. Temel senaryo: val scn = scenario("Test").exec(http("Request").get("https://example.com"))
3. Yük profilini ekleyin: setUp(scn.inject(atOnceUsers(100)))
4. ./gatling.sh ile testi başlatın; tamamlandığında HTML rapor otomatik açılır.
Gatling raporları nasıl okunur?
1. Test tamamlandığında results/ klasöründe tarih damgalı bir klasör oluşur.
2. İçindeki index.html dosyasını tarayıcıda açın.
3. Response Time Distribution grafiği yanıt süresi dağılımını gösterir; Requests/s grafıği saniyedeki istek sayısını gösterir.
4. Hatalı istekler kırmızıyla işaretlenir; tıklayarak hata detaylarına ulaşabilirsiniz.
Alternatif Programlar
- Yüksek eş zamanlılık, tek makinede binlerce kullanıcı
- Detaylı ve görsel HTML raporlar
- Birden fazla dil desteği (Scala, Java, JS, TS)
- Maven, Gradle, SBT entegrasyonu
- Apache-2.0 lisanslı, tamamen ücretsiz
- CI/CD pipeline'larına kolay entegrasyon
- Türkçe arayüz yok
- Scala bilgisi avantaj sağlar (zorlanabilir)
- JVM gerektirir
- Locust'a göre daha steep öğrenme eğrisi
Gatling Load Testing Tutorial
İşletim Sistemi: Windows, macOS, Linux
RAM: Minimum 4 GB
Disk: 200 MB
Diğer: Java 21+ (JRE/JDK)