AD LDS首次访问缓慢 - 为什么?

8

我在本地机器上设置了一个ADLDS实例(Windows Server 2008 R2),用于新应用程序,并编写了一些.NET代码来访问它。这是我正在测试的其中一个功能,如您所见,它非常简单。

Dim MyLdapUri As New Uri(searchRoot)

Using MyContext As New PrincipalContext(ContextType.ApplicationDirectory,
                                         MyLdapUri.Authority,
                                         MyLdapUri.LocalPath.Substring(1), ContextOptions.SimpleBind,
                                         strUsername, strPassword)
        Return UserPrincipal.FindByIdentity(MyContext, IdentityType.Name, username)
    End Using

我发现一个问题,就是在测试应用程序中首次调用此或任何其他函数访问实例时有大约18秒的延迟。随后对AD LDS实例的调用大约为40毫秒。一旦您让实例未查询几分钟,然后第一次调用需要18秒。
我在事件日志中没有发现异常。我还尝试了不同的连接方式(如上所述简单绑定到在实例中定义的用户,使用本地和域Windows帐户),但始终存在这个18秒的额外延迟。有人可以给我指点是什么原因并/或如何诊断/修复它吗?
1个回答

4

这可能是由于您身份验证服务器的方式引起的。

您安装ADLDS的服务器是否为域控制器?

您的客户端计算机是否与服务器处于同一域中?

您的客户端计算机如何解析URI的DNS部分?

  • 在您的情况下,您需要将LDAP://myserver替换为LDAP://myserver.ourdomain.local

1
在解决这个问题的兴奋中,我忘记了几个月没有更新它!问题似乎是一些怪癖,其中uri中使用的主机名必须是完整的LDAP://myserver.ourdomain.local而不仅仅是LDAP://myserver。很奇怪,特别是因为所有东西都在同一个域上,但之后似乎一切都很顺利。我们在WCF调用中使用的uri也遇到了类似的问题。 - bigfatron
我遇到了完全相同的问题,每分钟都会发生。我搜索了几个小时,直到找到了你的帖子。非常感谢!!!!! - Vincent
即使您不将答案标记为有用,您仍然可以将问题标记为有用。 - JPBlanc

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接