Майское обновление ReOpenLDAP - теперь multimaster-кластер требует в разы меньше RAM

В ReOpenLDAP добавлена поддержка «кворума» при репликации и возможность ограничения syncrepl-сеансов, находящихся в стадии первоначальной синхронизации. В итоге это уменьшает время синхронизации multimaster-кластера при старте, одновременно существенно уменьшая пиковое потребление ресурсов (оперативной памяти и процессорного времени).

Такая синхронизации, или иначе говоря сверка записей в локальной базе с удаленной стороной, происходит всегда для refreshOnly режима и вначале refreshAndPersist. При этом механизм репликации syncrepl формирует и сверяет в памяти списки записей c удаленной стороны (через поставщика syncprov) и записей в локальной базе. Соответственно, именно в этот момент времени можно наблюдать пиковое потребление памяти и процессорного времени.

В кластере, состоящим из нескольких серверов работающих в режиме multi-master репликации, первоначальная синхронизация может одновременно выполняться несколькими экземплярами syncrepl. В этом случае потребление памяти и нагрузка на CPU могут быть в разы (10 и более раз) больше чем при штатной работе.

Проблема усугубляется тем, что при конкурентной первоначальной синхронизации каждый экземпляр syncrepl будет пытаться внести в локальную базу практически идентичные изменения. Соответственно, суммарно только один экземпляр syncrepl отрабатывает эффективно, а остальные просто в холостую, при этом мешая друг-другу. Особо это актуально при подключении к кластеру нового сервера с «пустой» базой.

Наши нагрузочные тесты показывают уменьшение потребление памяти в 2–5 раз и одновременно уменьшение времени синхронизации multimaster-кластера от 3 до 25 раз.

--

ReOpenLDAP — потомок общеизвестного OpenLDAP, но ориентирован на промышленную эксплуатацию в сфере телекоммуникаций (высокие нагрузки, высокая доступность, 24×7). Появился в результате консервативности целей родительского проекта, что выразилось в отказе меинтейнеров Symas Corp принимать изменения улучшающие качество кода и добавление новых возможностей.

Проект реализован силами компании Петер-Сервис R&D, резидента Сколково, для применения в телеком-проектах федерального масштаба.

Актуальная стабильная версия в ветке master на https://github.com/ReOpen/ReOpenLDAP.

Новая «фича» и опции её настройки описаны в русскоязычных man-страницах (пока только в русскоязычных), см. https://github.com/ReOpen/ReOpenLDAP/commit/4d9505532f8ac6f294ae780e33c4f495f…

 ldap, openldap, peterservice, reopenldap

©  Linux.org.ru