Размещение службы WCF в IIS на одном сайте с использованием привязки tcp и нескольких портов - PullRequest
0 голосов
/ 10 ноября 2010

У меня проблема с производительностью служб WCF, размещенных в IIS с использованием привязок net.tcp.

Недавно мы перенесли нашу систему из COM + в WCF, и тесты показывают снижение производительности.Я смотрел на счетчики производительности на сервере, и загрузка ЦП очень низкая (<10%), имеется много доступной памяти, чтение с диска нормальное и т. Д. ... Я также проверил счетчики производительности WCF и количество выдающихсяколичество вызовов низкое (не более 1 в любой момент времени), количество вызовов в секунду довольно низкое (16 вызовов в секунду для службы, которая используется системой чаще всего).Все наши сервисы настроены для одного вызова и однопоточные ... </p>

Я уже поиграл с регулированием и установил все значения для всех настроек на 100 (сервер является 8-ядерным компьютером, а мойпонимание состоит в том, что фактические значения регулирования в конечном итоге будут тем, что вы устанавливаете, умноженным на число процессоров.Я не думаю, что есть проблема там.

Я также убедился, что клиент использует свои соединения эффективно (не создавая новые, где есть существующее соединение TCP, которое можно использовать)

В текущем веб-приложении размещено около 50 сервисов (да, это 50!), И в данный момент я пытаюсь устранить это как источник проблемы.Я изучаю возможность размещения сервисов в нескольких веб-приложениях и хотел бы, чтобы они использовали разные порты, но у меня возникли некоторые проблемы с этим, и я нигде не могу найти пошаговые инструкции в Интернете, поэтому я надеюсь,кто-то здесь сможет мне помочь:)

Вот что я пытался сделать до сих пор:
1) Я добавил еще одну привязку к веб-сайту по умолчанию в IIS (то есть у меня естьдве привязки net.tcp, одна из которых настроена на использование информации привязки «808: *», а другая - «809: *») 2) Я убедился, что этим портам разрешено проходить через брандмауэр
3)Затем я попытался настроить каждое отдельное веб-приложение для фильтрации портов (это фрагмент из файла web.config, где я хочу использовать порт 808):





Когда я пытаюсь подключиться к этому сервису, я получаю сервис по адресу конечной точки 'net.tcp: // / SomeService.svc 'недоступен для протокола по адресу

Если я удалю

1 Ответ

1 голос
/ 14 марта 2011

Это старый пост - но ... Об ошибке конечной точки - попробуйте установить сетевую привязку в приложении, а не на уровне сайта.

...