2013-07-28 2 views
1

Azure 서비스 버스 릴레이 REST 서비스를 사용하여 내부 WCF 웹 서비스를 외부 고객에게 공개했습니다.Azure Service Bus REST 서비스의 성능을 최적화하는 방법

기능상 모두 훌륭하지만 WCF 끝점에 직접 연결하는 것보다 훨씬 느리다는 것을 알았습니다. Azure Service Bus는 성능 병목 현상을 일으키지 않고 내부 종단점을 중계한다고 생각했을 것입니다.

Azure Service Bus에서 고려해야 할 사항 (성능면에서)이 무엇인지 공유해 주실 수 있습니까? 우리가 성능을 최적화 할 수있는 방법에 대한 모든 힌트는 훌륭 할 것입니다.

서비스 릴레이 REST 서비스는 WCF 서비스에 직접 연결하는 것보다 16 초 더 느립니다. 주 병목 목이 서비스 버스와 내부 WCF 통화 사이에 있음을 확인했습니다.

+0

당신은 더 많은 일 수 있습니다 WCF 끝점에 직접 연결하는 것보다 속도가 느린 경우에만 해당합니까? 네트워크 내부의 클라이언트와 서비스가 모두있는 서비스 버스 끝점이 아닌 내부적으로 WCF 끝점에서 클라이언트를 가리키는 경우를 의미합니까? 그렇다면 느리다는 것은 서비스 버스로 당신의 네트워크에서 릴레이로 빠져 나가는 대기 시간을 갖게 될 것이고, 그러면 통신이 다시 시작된다는 것을 생각하면 놀라지 않을 것입니다. 얼마나 느린가? 수량화 할 수 있습니까? – MikeWo

+0

안녕하세요 MikoWo, 서비스 버스 릴레이는 WCF 서비스에 대한 직접 호출보다 16 초 더 느립니다. –

답변

1

1) 고객이 ChannelFactory를 사용하고 있다면 채널을 캐시하십시오.

2) 귀사와 가까운 고객이있는 데이터 센터에 귀사의 끝점이 있습니까? 그렇지 않다면, 나는 당신이 그것을 바꿀 것을 강력히 제안 할 것입니다. docs에 따르면

3), 당신도 설정할 수 있습니다 NetTcpRelayBinding를 사용하는 경우 TcpConnectionMode "반대 방화벽 및 NAT 장치 뒤에 앉아 두 당사자 간의 직접 연결"을 설정합니다 Hybrid

+0

답변 해 주셔서 감사합니다. ChannelFactory를 사용하여 Service Busy Relay OData Service를 사용하기위한 코드 스 니펫을 공유 할 수 있습니까? –

관련 문제