Locust
Locust, Python ile test senaryoları yazılan açık kaynaklı ve yüksek ölçeklenebilir bir yük testi çerçevesidir. Gerçek kullanıcı davranışını simüle etmek için Python sınıfları kullanılır; web tabanlı kontrol panelinden gerçek zamanlı metrikler izlenir. Tek makinede binlerce sanal kullanıcı koşturabilen Locust; API’ler, web uygulamaları ve mikro servis mimarileri için performans doğrulamanın vazgeçilmez aracıdır.
Öne Çıkan Özellikleri
- Python ile okunabilir ve bakımı kolay test senaryoları
- Web tabanlı gerçek zamanlı kontrol paneli ve istatistikler
- Dağıtık mod ile çok makineli yük üretimi
- HTTP, WebSocket ve gRPC protokol desteği
- CSV raporları ve Grafana entegrasyonu
- Kullanıcı sayısını ve artış hızını anında değiştirme
- CI/CD pipeline’lara kolayca entegrasyon
- MIT lisansıyla ücretsiz ve açık kaynak
Kullanıcıların En Çok Sorduğu Sorular
Locust’ta ilk yük testi nasıl yazılır?
1. pip install locust ile Locust’u yükleyin.
2. locustfile.py oluşturun:
from locust import HttpUser, task
class WebsiteUser(HttpUser):
@task
def homepage(self):
self.client.get("/")
3. locust -f locustfile.py --host=https://example.com komutuyla başlatın.
4. Tarayıcıdan http://localhost:8089 açın; kullanıcı sayısı ve artış hızını girerek testi başlatın.
Locust testi dağıtık modda nasıl çalıştırılır?
1. Master makinede: locust --master -f locustfile.py
2. Her worker makinede: locust --worker --master-host=MASTER_IP -f locustfile.py
3. Tüm worker’lar bağlandıktan sonra master web panelinden testi başlatın; yük tüm worker’lara dağıtılır.
Alternatif Programlar
- Python ile esnek ve okunabilir test senaryoları
- Dağıtık test ile milyonlarca kullanıcı simülasyonu
- Web tabanlı gerçek zamanlı dashboard
- HTTP, WebSocket, gRPC desteği
- Google, Microsoft gibi büyük firmalar kullanıyor
- MIT lisanslı, tamamen ücretsiz
- Python bilgisi gerektirir
- GUI yok, web dashboard ile yönetim
- Türkçe arayüz yok
- Başlangıç öğrenme eğrisi var
Locust Load Testing Tutorial
İşletim Sistemi: Windows, macOS, Linux
RAM: Minimum 2 GB
Disk: 100 MB
Diğer: Python 3.9+, pip