У нас есть предоставляемое поставщиком веб-приложение .NET, работающее на IIS 8.5 (.NET 4.6.1).Он связывается с Microsoft Dynamics CRM 2016 (локально) через WCF Organization.svc.
Поскольку я проходил нагрузочное тестирование, узкое место, похоже, находится между веб-сервером (далее «WFE») исервер CRM (на котором размещается WCF Organization.svc).Процессор / память / диск на обоих серверах не показывают проблем.По мере увеличения нагрузки время отклика ухудшается, а загрузка ЦП / памяти / диска остается неизменной.
Если я смотрю на IIS - рабочие процессы на WFE, я вижу, что мои запросы к веб-приложению выстраиваются в очередь под нагрузкой с ожиданиемвремя до 40-50 секунд, в то время как на сервере CRM - IIS - рабочие процессы, запросы, находящиеся в очереди, ожидают только до 1-2 секунд.
Так что, похоже, большое ожидание происходит до того, какон попадает в CRM для обработки.Настройки конфигурации, которые я пробовал:
- System.net - connectionManagement - увеличено maxConnections на WFE и / или CRM machine.config.
- System.web - processModel - увеличено maxWorkerThreads, maxIoThreadsи minWorkerThreads.Также httpRuntime - minFreeThreads и minLocalRequestFreeThreads.Сделал это как на сервере WFE, так и на сервере CRM
- В файле web.config сервера CRM - CRMWeb: System.serviceModel - привязки - netTcpBindings - увеличенные maxConnections System.serviceModel - поведение - serviceBehaviors - поведение - serviceThrottling - maxConcurrentCalls, maxConcurpss, maxConcurscs, maxConcurrentCalls, maxConcursc,и maxConcurrentInstances все установлены в 65536.
Ни одно из этих отдельных изменений не имеет заметных различий.Время отклика и использование ресурсов на серверах остаются постоянными, поэтому они, похоже, ничего не делают.
Но если я отключу «Аутентификацию на основе утверждений» в CRM «Диспетчер развертывания», все время отклика значительно улучшится (В 10 раз быстрее).
Я использовал Fiddler и увидел, что веб-приложение проходит проверку подлинности в ADFS только один раз, поэтому повторная проверка подлинности не выполняется снова и снова.CRM также имеет для authPersistNonNTLM значение True.И Fiddler на сервере CRM показывает, что он никогда не связывается с ADFS.
Веб-приложение использует версию 8.0 SDK CRM и специально использует класс OrganizationServiceProxy.
Я ценю любую помощь / пониманиедля дальнейшего устранения этой проблемы.