自定义SharePoint页面后的NTLM验证的性能问题

最近在做一项目,发现的一个很奇怪的性能问题。自定义Master Page后,即使什么也不改,比SharePoint默认页面的性能相比,有极大的降低。

测试了一系列场景,诡异的事情就不一一赘述了。

 

一些典型表现为:

1. IIS Failed Request Log表现为很多大时间(>3s)的页面和页面资源文件,这些看起来都是随机的,无规律的。

其中Log显示以下错误,

  1. 404错误
  2. NTLM认证耗费很长时间(>2s)
  3. 页面和页面资源文件加载时间过长,(>4s)

2. ULS Log表现出来处理时间正常(100ms)左右。

 

最后找了微软Premier Support,抓了N多Log,Dump,给出了一个神奇的KB。

You are intermittently prompted for credentials or experience time-outs when you connect to Authenticated Services

http://support.microsoft.com/kb/975363

 

  1. 启动注册表编辑器。
  2. 找到以下注册表子项:

    HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Netlogon\Parameters

  3. 创建以下注册表项:
    名称: MaxConcurrentApi
    类型: REG_DWORD
    值:将该值设置为较大的数字,您测试 (任何编号大于默认值)。
  4. 在命令提示符下运行 net stop netlogon然后再运行 net start netlogon.

 

修改并发为40(根据机器性能自己调整)后,压力测试结果有了显著提升。

24Core的安腾,192G内存的机器,居然能够把CPU压到50%多,RPS由40提升到150+,页面响应时间由平均5s降低到1-2秒左右。

 

微软的作弊工具太神奇了。

 

另外,为什么默认的页面就不会出现这个问题呢?什么地方有神奇之处?这个还是不解之谜。

posted @ 2012-04-13 11:28  Lambert Qin  Views(628)  Comments(3Edit  收藏  举报