2009-02-18 5 views
13

J'utilise la liaison HTTP de base.Performance de liaison WCF

Est-ce que quelqu'un sait quelle est la meilleure liaison en termes de performance car c'est le problème clé pour notre site?

+1

Pourriez-vous fournir un peu plus d'informations sur votre plate-forme? Quels types de clients se connectent à votre (vos) service (s) Web et quelles sont les exigences de sécurité? –

+0

Jetez un oeil à [this] (http://blog.shutupandcode.net/?p=1085) –

Répondre

16

Dépend de l'emplacement des services. Si elles sont sur la même machine, NetNamedPipeBinding devrait vous donner les meilleures performances. Si elles sont sur la même machine, NetNamedPipeBinding devrait vous donner les meilleures performances.

Sinon, vous devrez choisir en fonction de l'endroit où ils se trouvent, si elles doivent communiquer sur Internet, etc. intéropabilité

Soledad Pano's blog a un tableau bon flux pour aider à choisir les fixations appropriées en fonction de la situation

+0

+1 pour le lien. Merci –

6

Ceci compare des pommes à des oranges. Si vous utilisez la liaison HTTP de base, il existe un ensemble de services de base et tout ce qu'il fournit, ce qui est différent des services proposés par le WsHttpBinding, par exemple. Par conséquent, les métriques de performance vont être différentes, mais vous n'obtiendrez pas non plus la même fonctionnalité, et si vous avez besoin de cet ensemble particulier de fonctionnalités, alors la comparaison n'en vaut pas la peine.

En outre, il existe des liaisons (comme le tcp net et les fixations de tuyaux nommés) qui peuvent ne pas être applicables du tout, mais qui ont de meilleures caractéristiques de performance. Enfin, votre déclaration sur les «meilleures performances» indique que vous ne les regardez pas du bon œil. Vous avez des attentes quant à votre charge en période de pointe et hors pointe, ainsi que les temps de réponse acceptables pour votre produit. Vous devez déterminer si WCF se situe dans ces paramètres, puis travailler à partir de là, pas seulement dire "Je cherche la meilleure performance".

Vous devrez donner plus d'exigences pour ce que vous essayez de faire, et alors plus de lumière peut être versé sur elle.

0

Il est difficile de dire quelle sera la performance sans d'autres facteurs connus (serveur HW, nombre d'utilisateurs simultanés, etc.).

La liaison HTTP fonctionnera légèrement mieux que HTTPS par exemple, mais la communication binaire WCF vers WCF sera plus rapide que HTTP au prix d'une compatibilité moindre.

Je pense que vous devez fournir plus de détails - quelle est la fonctionnalité souhaitée (avez-vous besoin d'échange de messages SOAP, ou Ajax avec JSON?) Et la charge attendue du serveur.