NBomber는 오픈소스 .NET 프레임워크이며, 오픈소스 프로토콜은 Apache 2.0입니다. NBomber는 웹, 메시지 큐, 데이터베이스 등 다양한 서비스의 로드 테스트에 사용됩니다. NBomber 버전 2.0은 올해 5월에 출시되었습니다. NBomber는 JMeter와 유사하지만, JMeter와의 차이점은 NBomber가 테스트 시나리오를 F#/C#/JSON 코드로 표현한다는 점입니다.
NBomber의 주요 목적은 어떤 시스템이든 테스트하고 어떤 생산 작업을 시뮬레이션할 수 있는 가벼운 부하 테스트 프레임워크를 제공하는 것입니다. 우리는 단지 어떤 종류의 페이로드도 설명할 수 있으면서도 단순하고 직관적인 API를 유지할 수 있도록 추상화를 제공하고 싶을 뿐입니다. 또 다른 목표는 복잡한 부하 분포를 적용하여 POC(개념 증명) 프로젝트를 검증할 수 있는 빌딩 블록을 제공하는 것입니다. NBomber를 사용하면 HTTP, WebSockets, GraphQl, gRPC, SQL Databse, MongoDb, Resis 등 모든 PULL 또는 PUSH 시스템을 테스트할 수 있습니다. NBomber를 사용하면 일부 통합 테스트를 부하 테스트로 쉽게 변환할 수 있습니다.
현대 프레임워크로서의 NBomber는 다음과 같은 기능을 제공합니다:
- 제로 의존성 프로토콜 (HTTP/WebSockets/AMQP/SQL)
- 의미 모델에 대한 의존성 제로 (풀/푸시)
- 매우 유연한 구성과 매우 단순한 API (F#/C#/JSON)
- 클러스터 지원
- 실시간 보고
- CI/CD 통합
- 데이터 피드 지원
GitHub 주소:하이퍼링크 로그인이 보입니다. 문서 주소:하이퍼링크 로그인이 보입니다.
먼저, 새로운 .NET Core 3.1 콘솔 프로젝트를 만들고 nuget을 사용해 다음 패키지를 설치하세요:
NBomber에서 최대 성능을 얻으려면, 다음 구성으로 프로젝트 설정을 수정해야 합니다:
가비지 컬렉션 설정 가비지 컬렉션은 서버 및 동시성 모드로 전환되어야 합니다:
전체 프로젝트 구성:
이 사이트에 GET 요청을 보내는 테스트를 하고, 다음 코드로 맞춤 요청 헤더를 설정하세요:
프로그램은 아래 그림과 같이 bin\Debug\netcoreapp3.1\reports\ 디렉터리 아래에서 자동으로 테스트 보고서를 생성합니다:
(끝)
|