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

Медленное соединение LDAP на Apache?

Я пытаюсь устранить неполадки, почему первый вызов веб-службы занимает больше минуты, тогда как последующий занимает менее секунды (это повторяется каждые 10+ минут без вызовов). Я запустил Wireshark на сервере и обнаружил разницу в том, что медленный запрос вызывает LDAP, а другой - нет. В медленном запросе я вижу клиент / сервер Hello и Handshake и вызов LDAP. Затем сервер ожидает (или обращается к другим запросам), пока РОВНО через 60 секунд (см. Рисунок ниже) не будет выполнен еще один вызов LDAP, сразу после которого начнется выполнение первой строки кода.

Тот факт, что это КАЖДЫЙ занимает ровно 60 секунд, заставляет меня думать, что где-то есть тайм-аут, но я борюсь с конфигурациями.

Другие запросы, не относящиеся к веб-службам, начинаются непосредственно со второго вызова LDAP, но этот запрос REST по какой-то причине наказывается.

Есть идеи, как я могу это улучшить? Все, что угодно, очень поможет. Спасибо

Посмотреть время исполнения

Обнаружена причина: похоже, Windows закрывает соединение LDAP через 15 минут, но поведение Apache по умолчанию, похоже, пытается повторно использовать соединение на неопределенный срок. Если Apache пытается повторно использовать его после того, как Windows закрыла соединение, будет 60-секундная задержка ожидания соединения до тайм-аута, что соответствует моей проблеме.

Многие форумы сообщают, что снижение LDAPConnectionPoolTTL до значения ниже MaxConnIdleTime в конфигурации Apache решило их проблемы, но единственное, что сработало для меня, - это установить его на 0, полностью отключив повторное использование существующих подключений.