Мы используем 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]"
Любые идеи и предложения приветствуются.