2010-02-23 4 views
2

IIS 7.5에서 MVC를 사용하는 간단한 응용 프로그램의 성능을 조정하고 있습니다. Application_BeginRequest에서 시작하는 StopWatch가 있고 Controller.OnActionExecuting에서 스냅 샷을 만듭니다.더 높은 속도를 얻기 위해 MVC와 IIS 파이프 라인을 어떻게 최적화 할 수 있습니까?

그래서 전체 IIS 파이프 라인에서 소요되는 시간을 측정합니다. 요청 수신에서 순간 실행까지 마침내 내 컨트롤러에 도달합니다.

내 3GHz 쿼드 코어 (프로젝트 x64 출시 컴파일)에서 700 마이크로 초를 얻었으며 병목 현상이있는 곳이 궁금합니다. 특히 사람들이 MVC로 8000 page loads per second까지 올 수 있다고 들었을 때 의문이 들었습니다.

더 높은 속도를 얻기 위해 MVC와 IIS 파이프 라인을 어떻게 최적화 할 수 있습니까?

+0

질문을 "보다 빠른 속도를 얻기 위해 MVC 및 IIS 파이프 라인을 어떻게 최적화 할 수 있습니까?"로 질문을 변경해야합니다. 현재 제목 질문은 완전히 다른 질문이며, perf 요구 사항 지정과 관련이 있습니다. –

답변

2

나는 내 3GHz의 쿼드 코어 (프로젝트 컴파일 릴리스 64)에 700 마이크로 초를 취득하고, 병목 현상, 특히 어떤 사람들은 하나가 MVC 초당 8000 페이지가로드까지 얻을 수 있다고 듣고, 어디 있는지 궁금합니다.

파이프 라인에서 700 µ의 결과는 초당 8,000 요청 처리량과 호환되지 않습니다. 응답 시간이 1 : µ s, 700 µ s인지 여부에 관계없이 8,000 명의 사람들이 동시에 요청을했고 각각의 요청이 1 초 미만으로 완료되면 응답 속도가 초당 8,000 회가됩니다. 또는 700ms.

IIS + MVC 파이프 라인이 모든 페이지로드에서 실행 되기에는 너무 길습니까? 반드시

하지 않습니다. 실제로 요청에 만족하는지 여부를 평가해야합니다.

+0

죄송합니다.이 질문에 대답하지 않습니다. – Andy

+0

@ 존 : 또한 질문은 μs가 아니라 ms에 대해 말하는 것으로 보입니다. – sth

+0

@sth : 으악; 와우, 나는 그것을 완전히 놓쳤다. 캐치를 가져 주셔서 감사합니다. –

4

"IIS 튜너"도구가 유용 할 수 있습니다. 그것은 오픈 소스 도구이며 응용 프로그램이 만든 트릭을 조사 할 수 있습니다. 이 도구는에서 사용할 수 있습니다 codeplex

0

당신은 보았다 : - 비동기 컨트롤러? ASP.NET 프로세스는 어느 스레드가 확실하지 않은 12 개의 스레드 (또는 CPU 당 12 개의 스레드)로 제한됩니다. - 마이크로 옵티마이징 트릭이 많이 있습니다 (예 : MVC가 모든 뷰 엔진을로드 할 때 ... 면도기를 제거해야하는 경우)

따라서 성능을 향상시킬 수있는 확실한 방법이 있으며 MVC에서 HTML에 대한 제어 (viewstate, 막 다른 마크 업, 불필요한 포스트 백 등)

1

도구 "IIS 튜너"가 유용 할 수 있습니다. WCAT가 작동하지 않게합니다. 어떤 전망?

자세한 내용은 아래로, D : \ 프로그램 파일 \ IIS 자원 WCAT 클라이언트 \> wcclient.exe 로컬 호스트

5.2.3652 wcclient.exe - 웹 용량 분석 툴킷 클라이언트.

저작권 (c) 1995-2002 Microsoft Corporation. 판권 소유. 2003 년 5 월 29 일, 16:28:20 컴파일 된 주 클라이언트 스레드 연결 ... 연결됨. 구성 메시지 대기 중 ... 데드 컨트롤러 스레드 연결 중 ... 완료. 테스트를 위해 요청 된 IP 버전이 지정되지 않았습니다. 수신 스크립트 헤더 메시지 : 완료. 수신 문자열 테이블 : 1 스크립트 페이지 수신 중 ... 클라이언트가 지원하는 IP의 서버 주소를 확인하지 못했습니다. localhost 클라이언트 중지 알림 연결 ... 서버 주소를 확인하지 못했습니다.

+1

링크? 도구를 어디에서 찾을 수 있습니까? 왜 그렇게 나쁘다고 생각하니? –

+0

iistuner.codeplex.com –

관련 문제