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

big*_*ron 6 adam active-directory

我在本地计算机(Windows Server 2008 R2盒)上为新应用程序设置了ADLDS实例,并且已经敲除了一些.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
Run Code Online (Sandbox Code Playgroud)

我反复发现的一件事是我第一次调用此函数或任何其他函数从测试床应用程序访问实例时出现约18秒的延迟.对AD LDS实例的后续调用大约为40ms.一旦你离开实例几分钟,那么第一次通话后回拨18秒.

我在事件日志中找不到任何不好的东西.我也试过以不同的方式连接到实例(简单绑定到上面实例中定义的用户,使用本地和域Windows帐户),并且第一次命中的这18秒额外延迟总是发生.任何人都可以给我指出导致这种情况的原因和/或我如何诊断/修复它吗?

JPB*_*anc 4

这可能是由于您向服务器进行身份验证的方式造成的。

安装 ADLDS 的服务器是否位于域控制器中?

您的客户端计算机与服务器位于同一域中吗?

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

  • 在你的情况下,你替换LDAP://myserverLDAP://myserver.ourdomain.local.