基本的な HTTP バインディングを使用しています。
それが私たちのサイトの重要な問題であるため、パフォーマンスの観点からどれが最良のバインディングか知っている人はいますか?
基本的な HTTP バインディングを使用しています。
それが私たちのサイトの重要な問題であるため、パフォーマンスの観点からどれが最良のバインディングか知っている人はいますか?
サービスの場所によって異なります。
それらが同じマシン上にある場合、NetNamedPipeBinding によって最大のパフォーマンスが得られるはずです。
それ以外の場合は、インターネット経由で通信する必要がある場合、相互運用性など、それらが配置されている場所に応じて選択する必要があります.
Soledad Pano のブログには、状況に応じて適切なバインディングを選択するのに役立つ優れたフローチャートがあります。
これはリンゴとオレンジを比較しています。基本的な HTTP バインディングを使用している場合は、基本的なサービスのセットとそれが提供するものがあります。これWsHttpBinding
は、たとえば が提供するサービスとは異なります。
そのため、パフォーマンス メトリックは異なりますが、同じ機能も得られません。その特定の機能セットが必要な場合は、比較を行う価値はまったくありません。
さらに、まったく適用できない可能性があるバインディング (net tcp および名前付きパイプ バインディングなど) がありますが、より優れたパフォーマンス特性を備えています。
最後に、「最高のパフォーマンス」に関するあなたの発言は、あなたが実際にそれを正しく見ていないことを示しています。ピーク時と非ピーク時の負荷、および製品に許容される応答時間について予測しています。「最高のパフォーマンスを探している」と言うだけでなく、WCF がこれらのパラメーター内にあるかどうかを判断し、そこから作業する必要があります。
あなたがやろうとしていることに対して、より多くの要件を与える必要があります。
WCF 情報の良いリソース:
特定のシナリオのバインディングを選択するセクションがあります。セキュリティは問題ではありませんか?そうでない場合は、より多くの選択肢があります。
他の既知の要因 (サーバーのハードウェア、同時ユーザーの数など) がなければ、パフォーマンスがどうなるかを判断するのは困難です。
たとえば、HTTP バインディングは HTTPS よりもわずかに優れたパフォーマンスを発揮しますが、バイナリ WCF から WCF への通信は、互換性が劣る代わりに HTTP よりも高速になります。
詳細を提供する必要があると思います-必要な機能は何ですか(SOAPメッセージ交換、またはAjaxとJSONが必要ですか?)および予想されるサーバー負荷。