AD LDS замедляется при первом доступе. Почему?
У меня есть установка экземпляра ADLDS на локальном компьютере (Windows Server 2008 R2 box) для нового приложения, и я выбил некоторый код.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 ответ
Это может быть связано с тем, как вы проходите аутентификацию на вашем сервере.
Является ли сервер, на котором вы устанавливаете ADLDS, контроллером домена?
Ваш клиентский компьютер находится в том же домене, что и ваш сервер?
Как ваш клиентский компьютер разрешает DNS часть вашего URI?
- В вашем случае вы заменяете
LDAP://myserver
отLDAP://myserver.ourdomain.local
,