Назад | Перейти на главную страницу

Какие инструменты я могу использовать для измерения времени ответа Active Directory на запросы?

Windows Server 2008 / Active Directory

Есть ли способ измерить время ответа на запросы, поступающие в AD? У меня есть приложение, которое проверяет, существует ли пользователь в AD, и в последнее время это, похоже, занимает некоторое время (30-40 секунд). Я хотел бы знать, происходит ли задержка на стороне сервера AD или в самом приложении.

Бы csvde быть лучшим способом сделать это? Или есть специальный инструмент для измерения производительности запросов AD? Я открыт для использования сторонних утилит, если это даст более полную картину происходящего.

Если вы подозреваете что-то на стороне AD, есть новая функция, которая обеспечивает подробную информацию о производительности в журналах событий:

Исправление добавляет данные о производительности в журнал событий Active Directory в Windows Server 2012/2008 R2 SP1
http://support.microsoft.com/kb/2800945

В этой статье представлено исправление, которое добавляет данные о производительности в журнал событий Active Directory на контроллере домена под управлением Windows Server 2012 или Windows Server 2008 R2 с пакетом обновления 1 (SP1). После установки этого исправления контроллер домена включает дополнительные фильтры для регистрации следующих данных о производительности:

Field   Description
callTime
    Call time (in milliseconds)
entriesReturned
    Entries returned
entriesVisited
    Entries visited
filter
    Used filter
index
    Used indexes
pagesReferenced
    Pages referenced
pagesRead
    Pages read from disk
pagesPreread
    Pages pre-read from disk
pagesDirtied
    Clean pages modified
pagesRedirtied
    Dirty pages modified

Примечание. Вы можете собрать данные о производительности в журнале событий Active Directory, чтобы проанализировать причину сбоя.

После установки этого исправления сокращается работа, необходимая для устранения проблем, связанных с неожиданно высокой загрузкой ЦП в процессе Lsass.exe и длительным временем входа в систему. В частности, дополнительные фильтры, описанные в разделе «Симптомы», добавляются к событию с идентификатором 1644. Когда установлен уровень ведения журнала Field Engineering, событие с идентификатором 1644 также может регистрироваться, когда запрос LDAP превышает порог времени. Пороговое значение времени настраивается в параметре DWORD с именем Порог времени поиска (миллисекунды), который находится в следующем подразделе реестра:

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\NTDS\Parameters  

Когда включен уровень ведения журнала «Полевая инженерия», а запись реестра «Порог времени поиска (миллисекунды)» не используется или имеет значение 0, значение порога времени по умолчанию составляет 300 000 миллисекунд.

Дополнительные сведения о том, как использовать событие 1644 для устранения проблем с производительностью запросов LDAP, см. На следующем веб-сайте Microsoft:

Создание более эффективных приложений с поддержкой Microsoft Active Directory
http://msdn.microsoft.com/en-us/library/ms808539.aspx

Как насчет

Measure-Command {get-aduser -filter * -properties *|select $_.givenname,$_.sn,$_.mail, $_.mailnickname}

или что-то подобное (в зависимости от того, какие атрибуты и т. д. ваши запросы приложения)?

Что забавно, раньше был (возможно, он все еще есть из быстрого поиска в Google) инструмент на Novell под названием «Прошедшее время», который делал что-то очень похожее на это.

Это выглядит как ADFind от JoeWare может дать вам прошедшее время ... это может помочь.

http://www.joeware.net/freetools/tools/adfind/usage.htm

Похоже, что эти два переключателя помогут:

-прошедший Отображение времени в секундах, в течение которого выполнялся поиск.

-прошлый Отображение затраченного времени в секундах для различных точек выполнения.