2009-07-03 6 views
2

ASP.NET MVC 응용 프로그램에서 특정 동작이 실행되는 시간을 지정하려고합니다. Contoller 액션이 호출 될 때마다 ActionFilters를 사용하여 타이머를 시작하고 중지합니다. 결과는 비트 같은 작은 데이터 세트입니다 : 우리가 수집하고 나중에 분석 할 수 있도록ASP.NET MVC 성능 메트릭 기록

{ 
    ContollerName: 'Account', 
    ActionName: 'Index', 
    ExecutionDuration: 287, 
    TimeRecorded: '2009-07-02 17:34:54' 
} 

우리는 웹 서비스에 떨어져 빔이 데이터를합니다. 예를 들어 계정/색인이 애플리케이션에서 가장 느린 동작임을 알 수 있습니다.

우리가 초당 1,000 건의 요청을받는다면, 초당 1,000 건의 서비스 요청을 처리하는 것은 그리 똑똑하지 않습니다. 애플리케이션 성능에 해를 끼칠 수 있습니다.

버퍼링 된 서비스 호출을 수행하는 방법이 있습니까? 또는이 작업을 수행 할 라이브러리가 있습니까? 아니면 우리의 건축은 모두 잘못입니까?

감사합니다.

답변

3

나는 보통 여기에 대한 답을 연결하지 않지만, whiletrue.com의 사람은 MVC를 프로파일 링하는 정말 좋은 일을했다. 그의 슬라이드 쇼는 그가 설정 한 모든 것을 다룹니다.

http://blog.whiletrue.com/2009/04/aspnet-mvc-performance/

+0

매우 흥미로운 링크, 감사합니다! –

+0

그것은 멋진 리소스, 멋진 하나입니다! 벤치마킹을 위해 ab.exe를 실행하는 것보다이 종류의 운영 데이터를 수집하기를 원하므로 내 질문에는 아직 답이 없습니다. – tobinharris

0

4 가지 값을 취할 수있는 작업으로 컨트롤러를 생성하고 자신의 사이트를 방문하고 해당 컨트롤러에서 해당 정보를 데이터베이스에 큐 업할 수 있습니다. 그런 다음 다른 프로세스 일괄 처리로 웹 서비스에 정보를 제출하십시오.

관련 문제