2013-09-04 10 views
2

웹 응용 프로그램 성능 문제가 있습니다. 이 응용 프로그램 풀의 CPU 사용량이 90 %를 초과 할 수 있습니다. 내가 보았던 정상적인 사용법은 30 %입니다.ASP.net 페이지 모니터링 CPU 사용량

디버그 진단 도구를 사용하여이 응용 프로그램의 CPU 사용량을 모니터링했으며 SNIReadSyncOverAsync가 문제라는 것을 알았습니다. 내 응용 프로그램이나 페이지의 어떤 기능이 SNIReadSyncOverAsync 호출 뒤에 있는지에 대한 다른 세부 정보는 없습니다. 내가 알아야 할 것은 응용 프로그램에서 어떤 페이지가 가장 많은 CPU를 사용하고 있는지입니다.

각 페이지의 성능을 어떻게 모니터링 할 수 있습니까?

+1

프로파일 러를 사용합니까? –

답변

0

각 페이지 성능을 어떻게 모니터링 할 수 있습니까?

는 예 Windows 성능 레코더를 사용하여 프로덕션 환경에서 CPU를 소비하는 것을 볼 수있는 방법이있다. 예를 들어, 해당 서버에서

는 프롬프트

문제의 코드가 실행 된
wpr -start DotNET 

에서 아래의 명령을 실행하십시오 Windows 성능 분석기를 사용

wpr -stop DotNET 

을 실행 , WPR로 작성된 ETL 파일을 분석 할 수 있습니다. 자세한 내용은 Microsoft의 Channel9를 참조하십시오.

또는 PerfView을 사용하여 예상보다 오래 걸리는 요청을 캡처 할 수도 있습니다. 예 :

perfview collect -StopOnRequestOverMsec:3000 -ThreadTime -Merge:true -Zip:true -LogFile:perfviewlog.log -CircularMB:512 -DataFile:LongRequest.etl 

그런 다음 PerfView를 사용하여 스택 정보를 분석합니다.