NBomber açık kaynaklı bir .NET çerçevesidir, açık kaynak protokolü Apache 2.0'dır, NBomber ise web, mesaj kuyrukları, veritabanları vb. gibi çeşitli hizmetlerin yük testi için kullanılır. NBomber 2.0 sürümü bu yıl Mayıs ayında piyasaya sürüldü. NBomber JMeter'e benzer, ancak JMeter'den farkı şu ki, NBomber test senaryolarını F#/C#/JSON kodu ile ifade eder.
NBomber'ın temel nedeni, herhangi bir sistemi test etmek ve herhangi bir üretim iş yükünü simüle etmek için kullanılabilecek yük testleri yazmak için hafif bir çerçeve sağlamaktır. Sadece herhangi bir yük türünü tanımlayabilmek ve yine de basit, sezgisel bir API'ye sahip olabilmek için biraz soyutlama sağlamak istiyoruz. Bir diğer amaç ise, POC (kavram kanıtı) projenizi doğrulamak için herhangi bir karmaşık yük dağılımını uygulayarak yapı taşları sağlamaktır. NBomber ile herhangi bir PULL veya PUSH sistemini (HTTP, WebSockets, GraphQl, gRPC, SQL Databse, MongoDb, Redis vb.) test edebilirsiniz. NBomber ile bazı entegrasyon testlerini kolayca yük testlerine dönüştürebilirsiniz.
NBomber modern bir çerçeve olarak şunları sağlar:
- Sıfır bağımlılık protokolleri (HTTP/WebSockets/AMQP/SQL)
- Anlamsal modellere sıfır bağımlılık (Çekme/İt)
- Çok esnek yapılandırma ve çok basit API (F#/C#/JSON)
- Küme desteği
- Gerçek zamanlı raporlama
- CI/CD entegrasyonu
- Veri akışı desteği
GitHub adresi:Bağlantı girişi görünür. Belge adresi:Bağlantı girişi görünür.
Öncelikle, yeni bir .NET Core 3.1 konsol projesi oluşturun ve nuget kullanarak aşağıdaki paketi yükleyin:
NBomber'dan en iyi performansı almak için proje ayarlarınızı aşağıdaki yapılandırmayla düzenlemeniz gerekir:
Çöp toplama ayarları GarbageCollection, sunucu ve eşzamanlılık moduna geçmeli:
Tam proje kurulumu:
Bu siteye GET talebi göndermeyi test edin ve aşağıdaki kodla özel bir istek başlığı oluşturun:
Program, aşağıdaki şekilde gösterildiği gibi bin\Debug\netcoreapp3.1\reports\ dizininde otomatik olarak bir test raporu oluşturur:
(Son)
|