ASP.NET Core 부하/스트레스 테스트

부하 테스트와 스트레스 테스트는 웹앱의 성능과 확장성을 보장하는 데 중요합니다. 부하 및 스트레스 테스트는 종종 유사한 테스트를 공유하더라도 다른 목표를 가지고 있습니다.

부하 테스트: 앱이 응답 목표를 충족하면서 특정 시나리오에 대해 지정된 사용자 부하를 처리할 수 있는지 여부를 테스트합니다. 정상 조건으로 앱을 실행합니다.

스트레스 테스트: 극한 조건에서 실행될 때 앱 안정성을 테스트합니다. 테스트는 높은 사용자 부하를 발생시키거나 앱의 부하를 증가시키거나 앱의 컴퓨팅 리소스를 제한합니다.

스트레스 테스트는 스트레스 상태의 앱이 오류를 복구하고 정상적으로 예상 동작으로 돌아올 수 있는지를 확인합니다. 스트레스에서 앱은 비정상적으로 높은 스트레스로 실행됩니다.

Azure Load Testing은 대규모 부하를 생성할 수 있는 완전 관리형 부하 테스트 서비스입니다. 서비스는 호스트되는 위치와 무관하게 앱에 대한 트래픽을 시뮬레이션합니다. Azure Load Testing Preview를 통해 기존 Apache JMeter 스크립트를 사용하여 대규모 부하를 생성할 수 있습니다.

Visual Studio 2019 부하 테스트는 사용되지 않습니다. 해당하는 Azure DevOps 클라우드 기반 부하 테스트 서비스가 중지되었습니다.

타사 도구

다음 목록에는 다양한 기능 집합을 포함하는 타사 웹 성능 도구가 나와 있습니다.

릴리스 빌드를 사용하여 부하 및 스트레스 테스트

부하 및 스트레스 테스트는 디버그 및 개발 모드가 아닌 릴리스 및 프로덕션 모드에서 수행해야 합니다. 릴리스 구성은 최소 로깅으로 완전히 최적화됩니다. 디버그 구성이 최적화되지 않았습니다. 개발 모드를 사용하면 성능에 영향을 줄 수 있는 추가 정보 로깅이 가능합니다.