CPU는 50%이지만 IIS/ASP.net 요청은 여전히 ​​대기 중입니다.

CPU는 50%이지만 IIS/ASP.net 요청은 여전히 ​​대기 중입니다.

부하 테스트 시 120명의 사용자에서 요청 대기열을 시작하는 것으로 보이는 (VMWare) VM이 있습니다.

CPU가 70%를 넘지 않은 것 같은데 왜 요청 처리에 실패하는지 알아보기 위해 애쓰고 있습니다.

CPU 시간은 왼쪽 하단에 빨간색으로 표시됩니다. CPU 그래프

답변1

CPU가 요청 처리의 유일한 병목 현상은 아닙니다. 모두 애플리케이션이 수행하는 작업에 따라 다릅니다. IO 바인딩 작업을 많이 수행하는 경우 이는 CPU보다 더 큰 요인이 될 수 있습니다.

ASP.net에는 ThreadPool에 제한된 수의 스레드가 있으므로 모두 사용 중이면 대기열에 들어가기 시작합니다. 확인하다이 작품요청 대기열에 대한 몇 가지 팁을 확인하세요.

요청당 SQL 삽입/업데이트를 많이 수행하고 있습니까? Glimpse를 사용하여 타이밍을 알아보세요. 그 중 너무 많으면 응답을 기다리는 스레드/요청이 보류됩니다.

일부 타사 API를 호출하고 있습니까? 이는 대기 중인 스레드/요청을 보류하며 허용되는 동시 연결 수에 제한이 있습니다.

애플리케이션은 각 사용자에 대해 무엇을 수행합니까? 1000개 이상의 레코드를 검색하고 있나요?

이것을 확인하세요MS Connect 지원 문서, 아직 조정하지 않은 경우 도움이 될 수 있는 IIS 구성 옵션이 많이 있습니다.

다시 말하지만, 이것은 귀하의 애플리케이션이 무엇을 어떻게 하는지 알지 못하는 상태에서 발생합니다.

관련 정보