웹 애플리케이션 부하 테스트에서 버스트 요청

웹 애플리케이션 부하 테스트에서 버스트 요청

웹과 데이터베이스 호스팅을 모든 새 컴퓨터의 새 환경으로 마이그레이션하고 있습니다. 최근에 다음을 사용하여 부하 테스트를 수행했습니다.WAPT여러 분산 클라이언트에서 로드를 생성합니다. 서버에는 트래픽 로드를 처리할 수 있는 충분한 공간이 있지만 로드 테스트 중에 들어오는 트래픽의 이상한 패턴이 나타났습니다.

설정의 요점은 다음과 같습니다.

  • Win 2k8 서버에서 MS Forefront TMG 2010을 실행하는 방화벽 서버
  • 방화벽 시스템에서 IIS 응용 프로그램 요청 라우팅에 의해 수행된 요청 라우팅
  • 웹 서버는 데이터베이스 서버(호스트 OS)의 Hyper-V VM입니다.
  • 이 머신은 6개의 코어(총 12개 프로세스)를 갖춘 듀얼 CPU를 갖추고 있어 무겁습니다.
  • IIS 7.5를 실행하는 웹 서버
  • 앞에 1개의 ISAPI 필터(Url Rewrite)가 있고 ASP.NET 2.0으로 구축된 웹 애플리케이션

부하 테스트 중에 내가 본 것은 요청이 모두 한꺼번에 쏟아진다는 것입니다. 트래픽 로드를 보내는 7개의 서로 다른 분산 클라이언트가 있더라도 요청은 한 번에 약 300-500개의 요청을 통해 전달됩니다.

성능 모니터에는 이 패턴을 통해 이동하는 거의 모든 카운터가 표시됩니다. 요청 버스트가 요청/초에서 70으로 점프하고, 대기 중인 요청이 500으로 점프하고, 현재 요청이 점프하고, CPU가 점프하는 등 모든 것이 표시됩니다. 그런 다음 해당 요청 그룹을 처리하고 나면 거의 아무 일도 일어나지 않는 거의 10초 동안 잠잠해집니다. 0-5 요청/초, 대기 중인 요청 0, 최소 CPU 사용량. 그런 다음 10초 동안 활동이 없으면 또 다른 버스트가 발생하여 모든 카운터가 다시 한 번 급증합니다.

내가 알 수 없는 것은 생성되는 로드가 그런 식으로 전송되지 않는다는 것을 알 때 요청이 버스트적으로 들어오는 이유입니다. 특히 다양한 로드 생성 클라이언트가 서로 임의의 인지 시간을 사용하여 서로 다른 간격으로 트래픽을 보내는 것을 고려할 때 더욱 그렇습니다. 요구. Hyper-V 사이의 계층이나 아마도 하드웨어에 이러한 요청 통합을 유발할 수 있는 무언가가 있습니까?

내가 보고 있는 내용은 다음과 같습니다. 강조 표시된 측정항목은 Requests/sec이지만 다른 중요한 카운터도 함께 사용됩니다. Requests Queued(가능한 한 0에 가깝게 유지하고 싶습니다). 성능 모니터 스크린샷

이것에 대한 아이디어가 있나요?

답변1

더 많은 테스트와 연구 끝에 WAPT 부하 테스트 도구의 결과로 이 문제를 해결했습니다. 일부 설정을 조정하면 이 패턴이 변경되었습니다.

WAPT 인스턴스를 설정하고 웹 서버와 로드를 생성하는 시스템 모두에서 성능 모니터를 사용한 후에 이것이 WAPT 테스트 도구의 제품임을 확인했습니다. 웹 서버에서 요청/초가 수행하는 것과 동일한 간격 및 시간으로 네트워크 인터페이스 스파이크에서 전송된 패킷을 확인하면 쉽게 상호 연관됩니다.

관련 정보