Я испытываю большие задержки при извлечении пользователей из активного каталога в nodejs.
Я использую библиотеку узлов из npm 'activedirectry'.https://www.npmjs.com/package/activedirectory
Количество пользователей относительно невелико, около 1000 пользователей ...
Время запроса занимает от 2 до 4 секунд.
По умолчаниюзапрос, предоставляемый функцией findUsers библиотеки 'activedirectory', имеет вид (& (| (objectClass = user) (objectClass = person)) (! (objectClass = computer)) (! (objectClass = group))) .
Я добавил дополнительный фильтр в поле sAMAccountName.sAMAccountName = * somePartOfName *
В любом случае, с моим добавлением или без него время запроса все еще медленное.
У меня нет полной конфигурации активного сервера каталогов, но похоже,другие платформы в той же сети работают быстрее с активным каталогом, но они работают с другими платформами, в java и .NET.
В чем может быть причина такой высокой задержки?
Спасибо
// ad is configured only with user, password, base dn and url
function findUsers(partOfsAMAccountName) {
const additionalQuery = `sAMAccountName=*${partOfsAMAccountName}*`;
return new Promise(resolve => {
ad.findUsers(additionalQuery, false, (error, users) => {
if(error) {
console.error('%j', error);
}
resolve(users || []);
})
}
}
Я пытаюсь создать механизм автозаполнения на основе имен пользователей активного каталога.
В той же сети у нас есть сервер bitbucket, подключенный к тому же серверу активных каталогов.Похоже, что из клиента bitbucket автозаполнение происходит намного быстрее.примерно через 1 секунду от клиентской стороны.
Я уже искал открытый источник битбакета, но не нашел.