2013-07-28 4 views
1

Nous avons utilisé un service REST de relais Azure Service Bus pour exposer notre service Web WCF interne à des clients externes.Comment optimiser les performances du service REST Azure Service Bus

Fonctionnellement tout va bien, mais nous avons remarqué qu'il est significativement plus lent que de se connecter directement au point final WCF. J'aurais pensé qu'Azure Service Bus relaie juste le point de terminaison interne sans introduire de goulot d'étranglement de performance.

Est-ce que quelqu'un pourrait partager ce qu'il faut considérer (en termes de performances) pour Azure Service Bus? Tous les conseils sur la façon dont nous pouvons optimiser la performance seront excellents.

Le service REST Service Relay est plus lent de 16 secondes que de se connecter directement au service WCF. J'ai remarqué que le goulot d'étranglement principal se situe entre l'appel de bus de service et l'appel interne de WCF.

+0

Pouvez-vous être plus spécifique lorsque vous dites qu'il est plus lent que de se connecter directement au point de terminaison WCF? Voulez-vous dire si vous pointez un client sur le point de terminaison WCF en interne plutôt que sur le point de terminaison du bus de service avec le client et le service dans votre réseau? Si c'est le cas, le fait d'être plus lent ne me surprend pas étant donné qu'avec le bus de service, vous aurez la latence de sortir de votre réseau vers le relais, puis la communication. Combien «plus lent» est-il? Pouvez-vous quantifier? – MikeWo

+0

Salut MikoWo, le relais de bus de service est de 16 secondes plus lent que l'appel direct au service WCF. –

Répondre

1

1) Si vos clients utilisent ChannelFactory, mettez en cache les canaux. 2) Votre point de terminaison se trouve-t-il dans un centre de données près de chez vous et de vos clients? Sinon, je vous suggère fortement de changer cela.

3) Selon le docs, si vous utilisez NetTcpRelayBinding vous pouvez également définir la TcpConnectionMode à Hybrid, qui établira « connexions directes entre deux partis qui sont assis derrière opposés firewalls et des dispositifs NAT »

+0

merci pour votre réponse. Êtes-vous en mesure de partager un extrait de code pour utiliser ChannelFactory afin de consommer Service Busy Relay OData Service? –

Questions connexes