У меня проблема с производительностью служб 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 'недоступен для протокола по адресу
Если я удалю