Я хотел бы знать, есть ли у SVN определенные ограничения в отношении количества пользователей и репозиториев, которые он может поддерживать?
Спасибо.
В Subversion нет встроенных ограничений. Однако существуют практические ограничения, если репозитории используются часто.
У вас может быть неправильное представление, которое заставляет вас думать, что вы делаете что-то особенное во время установки, чтобы выбрать лимиты. Вы этого не сделаете. Когда вы используете команду 'svnadmin create / path / here', это когда вы выбираете, например, какую внутреннюю часть использовать. Просто используйте по умолчанию, так лучше.
Однако есть некоторые вещи, которые следует учитывать. Например, если у вас есть 100 миллионов репозиториев, обслуживаемых на одной машине, диск и / или ЦП в конечном итоге будут исчерпаны. Я подозреваю, что диск будет первым.
Я так не думаю, хотя, очевидно, я не тестировал его на миллионе пользователей ... но я знаю сайт, на котором - код Google использует svn, и на нем довольно много кода и пользователей.
Со своей стороны, мы используем интеграцию с активными каталогами (через VisualSVN Server), поэтому мы практически ограничены ограничениями AD (которые, я думаю, составляют примерно 2 миллиарда объектов). У меня есть репозиторий SVN размером 12 ГБ, поэтому он легко масштабируется для больших репозиториев, а скорость не является проблемой для нашего репо, даже если оно запускается внутри виртуальной машины.
Для дальнейшей масштабируемости вы можете распределить нагрузку с помощью svnsync для создания зеркал.
Короче говоря, я не думаю, что вы столкнетесь с проблемой масштабируемости.
Возможно, вы захотите посмотреть страницу с отзывами о подрывной деятельности: Отзывы о Subversion
Я думаю, что самое важное решение, которое вам нужно принять, - это решить, использовать ли бэкэнд Berkely DB или бэкэнд FSFS.
Нет, это не так.
Вы можете распределить нагрузку на часто используемые репозитории между серверами.
Вы можете настроить
Также кажется Репозитории FSFS можно безопасно делить через NFS так что у вас может быть несколько узлов SVN, обслуживающих один и тот же репозиторий через NFS. Однако это может не очень хорошо масштабироваться.
В крайних случаях вы можете разработать собственный серверный репозиторий, как это сделал Google.
Помните об ограничениях систем, управляющих базами данных SVN. У них могут быть ограничения, такие как количество пользователей или проблемы масштабируемости с количеством используемых файлов или каталогов. Например, Linux ext3 fs может выполнять линейный поиск в каталогах, что может быть проблемой для миллионов репозиториев. Могут быть и другие ограничения, например количество пользователей, зарегистрированных в системе. Изучите эти области и при необходимости проверьте.
Re: тестирование. Вы можете использовать сценарий оболочки, чтобы создать столько пользователей, сколько вы ожидаете использовать. Затем используйте другой сценарий для создания репозиториев для каждого пользователя с таким количеством файлов, которое вы обычно ожидаете. Создание комплексного набора тестов выходит за рамки, которые могут быть представлены здесь. Надеюсь, это поможет вам.