我们有一个供应商提供的.NET Web应用程序在IIS 8.5(.NET 4.6.1)上运行。它通过WCF Organization.svc与Microsoft Dynamics CRM 2016(内部部署)进行通信。
在进行负载测试时,瓶颈似乎在Web服务器(以下称为“ WFE”)和CRM服务器(托管WCF Organization.svc)之间。 两台服务器上的CPU /内存/磁盘均未显示问题。随着负载的增加,响应时间会变差,CPU /内存/磁盘使用率保持不变。
如果我查看WFE上的IIS-工作进程,则看到对Web应用程序的请求在负载下排队,等待时间长达40-50秒,与此同时,在CRM服务器-IIS-工作进程上,这些请求在那里排队只等到1-2秒。
因此,在开始处理CRM之前,似乎要进行大量的等待。 我尝试过的配置设置:
这些单独的变化都没有任何明显的不同。服务器上的响应时间和资源使用情况保持不变,因此它们似乎无能为力。
但是,如果我在CRM“ Deployment Manager”中禁用“基于声明的身份验证”,则所有响应时间都会大大提高(快10倍)。
我使用了Fiddler,可以看到Web应用程序仅对ADFS进行了一次身份验证,因此它不会一遍又一遍地进行身份验证。 CRM还具有已设置为True的“ authPersistNonNTLM”。 CRM服务器上的Fiddler显示它从未与ADFS通信。
该Web应用程序使用的是CRM SDK的8.0版,尤其是使用OrganizationServiceProxy类。
感谢您对进一步解决此问题的帮助/见解。
答案 0 :(得分:0)
事实证明这是一个已知的Microsoft CRM问题: https://www.cobalt.net/2015/01/28/claims-authentication-performance-overhead-in-dynamics-crm/ 哦,好吧!