곧 1000 개 이상의 요청/초를 가진 고성능 ASP.NET Json API를 작성합니다. 내 모든 논리와 처리는 IHttpHandler에서 수행됩니다. 나는 Stopwatch Class를 통해 측정했고 핸들러는 0,1 - 0.5 밀리 세컨드 (millisecond) 내로 요청을 끝낸다.고성능 ASP.NET 사이트 (> 1000 Request/Second)
하지만 IIS 및/또는 다른 HTTPHandlers (모듈?)이 많은 성능을 사용하고있는 것으로 보입니다. 어떻게 든 측정 할 수 있을까요? 최상의 성능을 위해 구성된 경우 IIS에서 요청의 오버 헤드는 얼마나됩니까?
HTTPHandlers 도움말을 모두 제거 하시겠습니까? 아니면 속도를 높이기위한 다른 트릭이 있습니까? 세션 외에도 많은 ASP.NET 애트리뷰트가 필요하지 않습니다 (상당한 성능 향상을 제공한다면 해결할 수도 있습니다).
'비공식적으로'비동기이며 자체 호스팅 될 수 있으므로 (IIS에서 실행되지 않도록 할 수 있음) ASP.NET 웹 API (MVC4에 기본 제공되지만, 사용 가능한 독립형). 나는 Henrik의 블로그에서 좋은 점을 배웠다 @ http://blogs.msdn.com/b/henrikn/ –
FWIW, 질문의 표현은 대기 시간/대역폭을 섞어 놓은 것처럼 조금 이상하다. (네트워크 용어 사용).특정 요청을 처리하기위한 대기 시간은 효율적이고 동시에 제공 할 수있는 능력에 비해 중요하지는 않습니다 (최종 사용자 환경 외에도 확장성에 직각입니다). IOW, 모든 요청에 서비스를 제공하는 데 1000ms가 걸렸지 만 한 번에 2000 명을 지원할 수 있다면 여전히 괜찮을 것입니다. –
만들고있는 API에 얼마만큼 적용 할 지 모르지만 캐시 할 수있는 것이 있으면 꼭 확인하십시오. 그리고 무국적자라면 ARR을 사용하고 필요할 경우 확장 할 수 있습니다. –