AD LDS медленно при первом доступе - почему?

У меня есть экземпляр 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 секунд при первом попадании всегда происходит. Может ли кто-нибудь дать мне какие-либо указания на то, что вызывает это и / или как я могу его диагностировать / исправить?

6
задан Terry Gardner 10 January 2012 в 13:46
поделиться