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

Задержка привязки LDAP с Zentyal 6 (Samba4)

Мы используем Zentyal 6 (Community Edition) в школе в качестве замены Windows Active Directory.

В настоящее время там работает Samba 4.7.6.

При привязке к LDAP с другого сервера для запроса или создания пользователей я испытываю задержка между bindRequest и bindResponse вызов от ~ 250 мс до нескольких секунд при более высоких нагрузках на сервер.

Однако последующие запросы выполняются значительно быстрее.

Поскольку мы по-прежнему обновляем информацию в Windows Active Directory, я могу сравнивать производительность этих двух систем. Процесс привязки к Windows AD много быстрее, почти в 100 раз быстрее при низких нагрузках. (0,003 секунды против ~ 0,25 секунды).

Когда мы выполняем активную проверку согласованности, опрашивая несколько сотен пользователей (пока по одному), за короткий период времени появляется множество bind_requests. Однако одновременно активно / пытаются установить не более 20 подключений.
В этом сценарии Zentyal Server переходит на высокую загрузку ЦП, и у меня возникают задержки в ~ 10 секунд.

Хотя открытие и закрытие соединений с высокой скоростью может быть не очень хорошей практикой, а использование одного соединения может быть обходным решением для задержек в несколько секунд, я действительно хотел бы знать, что вызывает эти задержки.

Снижение высокого уровня ведения журнала samba (который повторно устанавливался при каждой перезагрузке zentyal) привело к ускорению ~ 1,5, но общая проблема все еще существует.

Вот отрывок захвата WireShark запроса на привязку, выданного 10.2.10.47 к серверу Samba / Zentyal 10.2.10.120.
Пакеты с 92 по 96 не находятся между двумя сторонами и не содержат запросов DNS.
Задержка между bindRequest(1) и bindResponse(1) в этом примере - 200 мс.

"No.","Time","Source","Destination","Protocol","Length","Info"
"90","1.193111474","10.2.10.47","10.2.10.120","LDAP","118","bindRequest(1) ""Administrator@MYDOMAIN.local"" simple "
"91","1.193156156","10.2.10.120","10.2.10.47","TCP","66","389  >  43424 [ACK] Seq=1 Ack=53 Win=29056 Len=0 TSval=1492156959 TSecr=183507354"
...
"97","1.399117928","10.2.10.120","10.2.10.47","LDAP","80","bindResponse(1) success "
"98","1.399349211","10.2.10.47","10.2.10.120","TCP","66","43424  >  389 [ACK] Seq=53 Ack=15 Win=29312 Len=0 TSval=183507406 TSecr=1492157165"
"99","1.399794686","10.2.10.47","10.2.10.120","LDAP","306","searchRequest(2) ""DC=MYDOMAIN,DC=local"" wholeSubtree "
"100","1.399819885","10.2.10.120","10.2.10.47","TCP","66","389  >  43424 [ACK] Seq=15 Ack=293 Win=30080 Len=0 TSval=1492157166 TSecr=183507406"
"101","1.400974767","10.2.10.120","10.2.10.47","LDAP","706","searchResEntry(2) ""CN=someuser,OU=Admins,OU=Benutzer,DC=mydomain,DC=local""  | searchResRef(2)  | searchResRef(2)  | searchResRef(2)  | searchResDone(2) success  [7 results]"

Любые идеи и предложения приветствуются.