2010-01-04 3 views
1

프로덕션 웹 응용 프로그램의 성능을 모니터링하는 데 도움이되는 몇 가지 유형의 ASP.NET (C# 2.0) 메트릭 클래스를 만들려고합니다. 나는 2.0 건강 모니터링에 다소 익숙하며 그것은 내가 찾고있는 것이 아니다 (나는 어쨌든 생각하지 않는다). 차라리 로그 또는 이벤트 목록과 반대되는 스냅 샷을 제공하는 대시 보드를 갖고 싶습니다. 커뮤니티의 의견을 보내 주시면 감사하겠습니다. 따라서 특정 답변이 없더라도 모든 부분에 의견을 추가하고 전체적으로 의견을 제시하지 않아도됩니다. 미리 감사드립니다!C# ASP.NET 2.0 메트릭 대시 보드

다음은 내가 모니터하고 싶은 것들입니다. 값은 IIS가 아닌 응용 프로그램에 따라 달라야합니다. 열린 세션 시간 당

  • 조회수 할당 된 메모리 및 사용 각에서 보낸
  • ** 평균 런타임 (또는 제공) 함수의
  • 오래된 세션
  • 금액의

    1. 번호.
    2. 대역폭 사용률 (응용 프로그램 수준에서 그게 가능입니까?)
    3. 마지막 예외 (처리 또는 취소는-처리) 번호 5

    **, 나는 스톱워치 클래스의 몇 가지 유형을 사용하는 방법에 대한 생각 . 모니터링하고자하는 각 함수는 시작/정지를 호출하여 실행을 시작하고 실행을 종료합니다. 그러나 그것은 나에게 끔찍하게보기 흉하게 보인다. 스톱워치 수업없이 이것을 할 수있는 방법이 있습니까? Reflections 클래스의 무언가가 도움이 될 수 있습니까?

    이와 비슷한 것이 있습니까? 나는 상당한 양의 인터넷 검색을 수행했지만 정확히 내가 무엇을 찾고 있는지 찾을 수는 없습니다.

    다른 측정 항목을 추천 해 줄 수 있습니까?

  • +0

    오타 수정에 대해 @Greg에게 감사합니다. –

    답변

    1

    Windows 성능 카운터로 캡처 할 수있는 많은 정보를 얻을 수 있습니다. 대시 보드 페이지에서 읽을 수 있으며 HTML로 표시 할 수 있습니다.

    모든 앱 관련 데이터에 대한 맞춤 카운터를 만들 수도 있습니다. 내가 가장 좋아하는 방법 중 하나는 프로세스 호출이 얼마나 오래 걸리는지 측정하고 성능 문제 또는 회귀를 찾기 위해 미리 결정된 임계 값을 초과 한 횟수를 계산하는 것입니다.

    +0

    +1 나는 이것을 살펴보기 시작할 것입니다. 나는 CodeProject에서 뭔가를 발견했다. 더 나은 자원을 알고 있다면 알려주십시오. 감사! http : // www.codeproject.com/KB/dotnet/perfcounter.aspx –

    +0

    도움이 될 수 있으면 필자는 내 책의 성능 카운터 인 Ultra-Fast ASP.NET에 대해 설명합니다. – RickNZ

    +0

    감사합니다. 나는 한번 살펴 보겠다. 나는 우리 회사가 30 달러를 기꺼이 부채로 갚을 것이라고 확신한다. –

    1

    이 정보의 대부분을 얻으려면 Windows 성능 카운터를 읽을 수 있어야합니다. 대역폭 사용률은 응용 프로그램 수준에서 어렵습니다. 결국 대역폭을 추적하기 위해 응용 프로그램에 일종의 카운터를 구축했습니다. 스택에서 더 아래로 내려 가면서 더 효율적으로 수행 할 수 있다고 확신하지만, 어쨌든 빠르고 더러운 것이 필요했습니다.

    +0

    +1 대역폭이 문제가 될 것이라고 생각했습니다. 넌 어떻게 그걸 했니? 각 응답/요청의 바이트 수만 계산하십시오. 가상 디렉터리 당 대역폭 사용량을 볼 수있는 방법이 있는지 알고 있습니까? –

    +1

    성능 카운터의 웹 서비스 그룹 (Bytes Sent/sec, Bytes Received/sec, Bytes Total/sec)에서 사이트 별 대역폭 통계를 가져올 수 있습니다. 해당 그룹의 GET 요청/초 또한 유용합니다. – RickNZ

    1

    NewRelic이라는 제품 (서비스?)을 사용해보십시오. 나는 어떤 식 으로든 그들과 제휴하지는 않았지만 그들의 봉사는 정말 좋으며 시작할 수있는 자유 계층이 있습니다.

    관련 문제