2009-12-13 12 views
3

인트라넷 사용자를 지원하기 위해 웹 서버 (Windows Server 2003)에서 실행되는 ASP.NET 응용 프로그램이 있습니다. 이제 메모리 관리, 닫히지 않은 DB 연결 등과 같은 응용 프로그램의 성능을 모니터링하고 싶습니다. 궁극적 인 목적은 응용 프로그램을 최적화 된 상태로 만드는 것입니다. 이 일을 어떻게해야합니까? 무료 도구가 있습니까?ASP.NET : 응용 프로그램 성능 모니터링

답변

6

ASP.NET에는 Windows Performance Monitor (Perfmon.exe)으로 추적 할 수있는 성능 카운터가 포함되어 있습니다. 당신은 윈도우 서버에서 관리 도구에서이 작업을 실행할 수 2003

당신이 가장 적합한 성능 카운터를 선택하도록 안내 할 수이 기사 체크 아웃 할 수 있습니다 :

0

나는 jetBrains dotTrace 또는 ANTS 프로파일 러와 같은 프로파일 러를 실행할 것입니다.

둘 다 CPU 사용량 또는 메모리 사용량을 프로파일 링 할 수 있습니다. CPU 사용량이 많거나 메모리 사용량이 많은 개체를 찾기가 매우 쉽습니다. 무료가 아닙니다.

2

Windows 성능 카운터를 사용하면 짧은 시간, 중간 시간 또는 긴 시간 동안 어떤 카운터를보고 분석해야하는지 파악하기가 어려울 수 있습니다.

나는 (IIS 웹 응용 프로그램, SharePoint, Exchange 등) 모니터링해야하는 것을 기반으로 특정 및 미리 정의 된 성능 카운터를 수집하기 위해 일반적으로 성능 분석 로그 (PAL) 도구 (사용하기 쉽습니다!)를 사용합니다. 다음 좋은 보고서를 작성하기 위해 PAL 마법사를 사용

http://www.codeplex.com/PAL

그것을 시도 줄, 그것은 당신의 웹 사이트의 일반적인 성능의 아이디어를 얻을 매우 좋다. 물론

, 당신은 메모리 누수 또는 성능 저하를 찾을 수 귀하의 응용 프로그램 내에서 발굴해야하는 경우, 당신은 레드 게이트 ANTS 성능 프로파일 러를 시도 할 수 : 허용 대답 게다가

http://www.red-gate.com/products/ants_performance_profiler/

+0

* http : //pal.codeplex.com/* –

0

, 때로는 성능 카운터를 IIS 로그는 크고 복잡한 모노리스 응용 프로그램을 추적하는 데 충분하지 않습니다. 어떤 경우 스택 정보가 도움이 될 수 있습니다. Perfview이 도움이 될 수 있으며 open source입니다.

예를 들어 .NET 스택 정보를 추적하고 웹 요청이 3 초 이상 걸릴 때마다 중지하고 싶다고합시다. 그런 다음 그런 다음 LongRequest.etl 파일을 분석하고 문제의 .NET 호출을 추적하는 perfview을 활용하는 것입니다 프롬프트

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

에서 다음 명령을 실행합니다. Microsoft's Channel9에서 자세한 내용보기

관련 문제