WCF Binding Performance - PullRequest
       9

WCF Binding Performance

13 голосов
/ 18 февраля 2009

Я использую базовую привязку HTTP.

Кто-нибудь знает, что является наилучшим обязательным с точки зрения производительности, поскольку это ключевой вопрос для нашего сайта?

Ответы [ 4 ]

16 голосов
/ 18 февраля 2009

Зависит от того, где расположены услуги.

Если они находятся на одном компьютере, NetNamedPipeBinding должен обеспечить максимальную производительность.

В противном случае вам придется выбирать, в зависимости от того, где они находятся, должны ли они общаться через Интернет, взаимодействовать и т. Д.

В блоге Соледада Пано есть хорошая блок-схема, которая поможет выбрать подходящие привязки в зависимости от ситуации

6 голосов
/ 18 февраля 2009

Это сравнивает яблоки с апельсинами. Если вы используете базовую привязку HTTP, то есть базовый набор служб и всего, что он предоставляет, который отличается от служб, которые, например, WsHttpBinding предлагает.

Учитывая это, показатели производительности будут отличаться, но вы также не получите ту же функциональность, и если вам нужен именно этот набор функций, то сравнение вообще не стоит делать *. 1006 *

Кроме того, существуют привязки (например, привязки net tcp и именованные каналы), которые могут вообще не применяться, но имеют более высокие характеристики производительности.

Наконец, ваше утверждение о «лучшей производительности» указывает на то, что вы действительно не смотрите на это правильно. Вы ожидаете, что ваша нагрузка будет в пиковое и непиковое время, а также время отклика, приемлемое для вашего продукта. Вам нужно определить, попадает ли WCF в эти параметры, а затем работать оттуда, а не просто сказать «Я ищу лучшее исполнение».

Вам нужно будет предъявлять больше требований к тому, что вы пытаетесь сделать, и тогда на него можно будет пролить больше света.

1 голос
/ 18 февраля 2009

Хороший ресурс для информации WCF:

http://www.codeplex.com/WCFSecurity/Wiki/View.aspx?title=Questions%20and%20Answers&referringTitle=Home

Имеет раздел по выбору привязок для вашего конкретного сценария. Безопасность не проблема? Если нет, то у вас есть больше вариантов для вас.

0 голосов
/ 18 февраля 2009

Трудно сказать, какова будет производительность без других известных факторов (аппаратное обеспечение сервера, количество одновременных пользователей и т. Д.).

HTTP-привязка будет работать немного лучше, чем, например, HTTPS, но двоичная связь WCF с WCF будет быстрее, чем HTTP по цене меньшей совместимости.

Я думаю, что вам нужно предоставить более подробную информацию - какова желаемая функциональность (вам нужен обмен сообщениями SOAP или Ajax с JSON?) И ожидаемая загрузка сервера.

...