호스팅 옵션은 WCF 서비스에서 처리 할 수있는 요청의 양에 영향을 줍니까?WCF 자체 호스팅 서비스가 IIS 호스팅 옵션보다 더 많거나 적은 부하를 처리합니까?
답변
말하기 힘들다 - 자체 호스팅의 주된 이유는 아마도 더 많은 통제력을 가지고있을 것입니다. 필요에 따라 시스템을 조정할 수 있습니다.
IIS 호스팅은 편리하고 설치하기 쉽고 서비스의 "주문형"로딩을 제공합니다. 서비스 호스트는 요청이 실제로 들어오는 경우에만로드됩니다.
서비스 호스트의 상수로드 (및 언로드)는 성능을 약간 손상시킬 수 있습니다. 반면에 서비스 호스트를 자체 호스팅하면 더 많은 메모리를 사용하십시오 (ServiceHost가 활성 상태이고 항상 메모리에 있기 때문에).
다시 말해서, 이것은 메모리 대 속도의 트레이드 오프입니다. 셀프 호스팅은 더 많은 RAM을 사용하지만 아마도 조금 더 빠릅니다.
마크
일단 서비스가 실행되면 나는 큰 차이를 기대하지 않을 것입니다.
그러나 성능 질문과 마찬가지로 현실적인 부하와 큰 그림을 볼 때 서비스를 테스트하여 유용한 답변을 얻을 수 있습니다. 예 : 하나 더 많은 요청을 처리 할 수 있지만 메모리 비용은 약간 높습니다.
다른 차이점이있을 수 있습니다. 온 디맨드 인스턴스화를 사용하는 IIS 호스팅은 유휴 상태의 첫 번째 요청을 처리하는 데 다소 느려질 것으로 예상됩니다.
"Dublin"(목적으로 구축 된 WCF 호스팅 환경)이 출시되면이를 사용하는 것이 자연 스럽습니다.
EDIT :이 대답은 원래 스레딩의 차이로 인해 IIS와 자체 호스팅의 잠재적 차이에 관한 내용이었습니다. 그러나, 나는 아래로 코멘트를 참조하십시오.
자체 호스팅 WCF는 IIS에서 호스팅하는 것과 마찬가지로 멀티 스레드입니다. 여기에는 이점이없는 IIS가 없습니다. –
물론 IIS에서 호스트하고 권장되는 "통화 별"정품 인증 모델이있는 경우 IIS는 (최악의 경우) ServiceHost 인스턴스를 계속해서 계속 작성합니다. ServiceHost가 올라 오면, 나는 동의한다. 예상 할만한 차이는 없다. –