2012-04-19 4 views
5

WCF에서 바인딩 설정 maxConnections와 ServiceBehaviors serviceThrottling 설정 (maxConcurrentCalls, maxConcurrentInstances, maxConcurrentSessions)의 차이점은 무엇입니까?WCF serviceBehaviors 대 바인딩 설정

WCF 서비스 설정을 얻으려고하고 있는데 연결이 어떻게 제한되어 있는지 정확히 알지 못합니다.

답변

3

두 가지를 고려하는 것이 중요하다

  1. serviceThrottling 행동이 동시 통화, 인스턴스와 세션이 서버에서 지원하는 방법을 결정하는 서비스 -/서버 측 설정입니다. 이것은 모든 바인딩 또는 서비스 엔드 포인트와 독립적입니다. 이는 서비스 전체 설정입니다. 이를 통해 특정 서비스가 처리 할 수있는 동시 요청 (및/또는 세션)의 수 (서버 "전원", RAM, CPU 및 기타 요소에 따라 달라질 수 있음)를 조정할 수 있습니다. 그 값은 바인딩에

  2. maxConnections 설정합니다 (netTcpBinding에 고유 한 "과부하"되는 서버를 방지하기 위해 기본적으로 매우 낮게 유지함으로써 (잘못 또는 악의적으로) 요청의 큰 홍수로 응답 렌더링 그리고 그것은 "사촌들"입니다. 예를 들어 netNamedPipe과 다양한 Azure 지향적 인 바인딩들 (net***Relay bindings)은 연결 풀링과 관련이 있습니다. ADO.NET 데이터베이스 연결이 풀링 된 것과 마찬가지로 서버에 대한 TCP/IP 연결을 풀로 만들고 재사용하여이를 파괴하고 다시 만들어야하는 오버 헤드를 줄일 수 있습니다. 이것은 대부분 클라이언트 측 설정이지만 (서버 측에도 영향을 미치지 만) netTcpBinding (및 모든 사인온은 TCP/IP를 기반으로 함)에 고유하며 다른 모든 서버에는 존재하지 않습니다 바인딩.

    참조 : More details on MaxConnections 자세한 내용은이 설정에 대한 자세한 정보를 참조하십시오.

+0

MaxConnections 설정의 서버 측 효과를 확장 할 수 있습니까? –