2010-01-22 9 views
2

이 값이 너무 낮아서 서비스가 충돌하는 것만 알면됩니다. 이를 수정하는 빠른 방법은 매우 큰 숫자로 설정하는 것입니다. 그럼 아무 문제 없어.WCF의 요점은 무엇입니까 MaxReceivedMessageSize

제가 궁금한 점은이 값을 높게 설정하는 데있어 부정적 합의가 있는가하는 것입니다.

서비스 거부 공격으로부터 잠재적으로 보호받을 수 있지만 다른 기능이 있습니까?

+1

나는 중요한 포인트가 당신이 말했듯이 방어 전의 DoS 공격으로 작동한다고 생각합니다. –

답변

3

WCF 서버의 부담을 줄이는 데 도움이됩니다. 1 천 연결을 허용하고 각 연결에서 1MB의 데이터를 보낼 수 있습니다 - 서버에 1GB의 RAM이 필요하거나 스와핑/휴지통이 많이 발생할 수 있습니다.

메시지 크기 및 동시 연결/호출의 제한은 RAM 사용 및 CPU 사용을 관리 가능한 수준으로 유지하는 데 도움이됩니다.

또한 서버에 따라 크기를 조정할 수 있습니다. 1 코어 CPU와 4GB 또는 RAM이있는 경우 16 방향 CPU와 32GB 이상의 RAM이있는 경우와 같이 많은 양의 트래픽을 처리 할 수 ​​없습니다. MaxReceivedMessageSize를 비롯한 다양한 설정을 통해 WCF 환경을 기본 하드웨어의 기능으로 조정할 수 있습니다.

물론, 이미 언급했듯이 : WCF의 많은 설정은 DoS 공격으로 서버에 침입하여 종료하는 악의적 인 사용자를 막기 위해 OFF로 유지되거나 낮은 값으로 설정됩니다.

+0

답변 해 주셔서 감사합니다. 내가 그것을 이해했는지 확인하기 위해서. 귀하의 예제에서 1MB를 허용하고 연결이 10kB의 메시지를 보내는 경우. 1MB의 메모리가 서버에 할당되거나 10Kb 만 사용됩니다. –

+2

서비스 콜에 10kb가 필요하다면 10kb를 할당 할 것입니다. 1 MB 제한은 바로 그것입니다 - 상한. 서비스 호출이 1MB를 초과하여 요청하면 서비스 요청이 거절됩니다. 그러나 WCF는 실제 필요없이 1MB 만 할당하지는 않습니다. –

관련 문제