NBomber adalah kerangka kerja .NET sumber terbuka, protokol sumber terbuka adalah Apache 2.0, NBomber digunakan untuk menguji beban berbagai layanan, termasuk web, antrian pesan, database, dll. NBomber versi 2.0 dirilis pada bulan Mei tahun ini. NBomber mirip dengan JMeter, tetapi perbedaan dari JMeter adalah NBomber mengekspresikan skenario pengujian melalui kode F#/C#/JSON.
Alasan utama di balik NBomber adalah untuk menyediakan kerangka kerja ringan untuk menulis pengujian beban yang dapat Anda gunakan untuk menguji sistem apa pun dan mensimulasikan beban kerja produksi apa pun. Kami hanya ingin memberikan beberapa abstraksi sehingga kami dapat mendeskripsikan semua jenis muatan dan tetap memiliki API yang sederhana dan intuitif. Tujuan lainnya adalah menyediakan blok bangunan untuk memvalidasi proyek POC (bukti konsep) Anda dengan menerapkan distribusi beban yang kompleks. Dengan NBomber, Anda dapat menguji sistem PULL atau PUSH apa pun (HTTP, WebSockets, GraphQl, gRPC, SQL Databse, MongoDb, Redis, dll.). Dengan NBomber, Anda dapat dengan mudah mengubah beberapa pengujian integrasi menjadi pengujian beban.
NBomber sebagai kerangka kerja modern menyediakan:
- Protokol tanpa dependensi (HTTP/WebSockets/AMQP/SQL)
- Ketergantungan nol pada model semantik (Pull/Push)
- Konfigurasi yang sangat fleksibel dan API yang sangat sederhana (F#/C#/JSON)
- Dukungan kluster
- Pelaporan waktu nyata
- Integrasi CI/CD
- Dukungan umpan data
Alamat GitHub:Login hyperlink terlihat. Alamat dokumen:Login hyperlink terlihat.
Pertama, buat proyek konsol .NET Core 3.1 baru dan gunakan nuget untuk menginstal paket berikut:
Untuk mendapatkan performa maksimal dari NBomber, Anda harus mengedit pengaturan proyek dengan konfigurasi berikut:
Setelan pengumpulan sampah GarbageCollection harus beralih ke mode server dan konkurensi:
Penyiapan proyek lengkap:
Uji pengiriman permintaan GET ke situs ini dan atur header permintaan kustom dengan kode berikut:
Program akan secara otomatis menghasilkan laporan pengujian di bawah direktori bin\Debug\netcoreapp3.1\reports\, seperti yang ditunjukkan pada gambar di bawah ini:
(Akhir)
|