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

Ограничения SVN - Количество пользователей и репозиториев?

Я хотел бы знать, есть ли у SVN определенные ограничения в отношении количества пользователей и репозиториев, которые он может поддерживать?

Спасибо.

В Subversion нет встроенных ограничений. Однако существуют практические ограничения, если репозитории используются часто.

У вас может быть неправильное представление, которое заставляет вас думать, что вы делаете что-то особенное во время установки, чтобы выбрать лимиты. Вы этого не сделаете. Когда вы используете команду 'svnadmin create / path / here', это когда вы выбираете, например, какую внутреннюю часть использовать. Просто используйте по умолчанию, так лучше.

Однако есть некоторые вещи, которые следует учитывать. Например, если у вас есть 100 миллионов репозиториев, обслуживаемых на одной машине, диск и / или ЦП в конечном итоге будут исчерпаны. Я подозреваю, что диск будет первым.

Я так не думаю, хотя, очевидно, я не тестировал его на миллионе пользователей ... но я знаю сайт, на котором - код Google использует svn, и на нем довольно много кода и пользователей.

Со своей стороны, мы используем интеграцию с активными каталогами (через VisualSVN Server), поэтому мы практически ограничены ограничениями AD (которые, я думаю, составляют примерно 2 миллиарда объектов). У меня есть репозиторий SVN размером 12 ГБ, поэтому он легко масштабируется для больших репозиториев, а скорость не является проблемой для нашего репо, даже если оно запускается внутри виртуальной машины.

Для дальнейшей масштабируемости вы можете распределить нагрузку с помощью svnsync для создания зеркал.

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

Возможно, вы захотите посмотреть страницу с отзывами о подрывной деятельности: Отзывы о Subversion

Я думаю, что самое важное решение, которое вам нужно принять, - это решить, использовать ли бэкэнд Berkely DB или бэкэнд FSFS.

Нет, это не так.

Вы можете распределить нагрузку на часто используемые репозитории между серверами.

Вы можете настроить

  • Одно или несколько зеркал только для чтения для анонимных пользователей, использующих svnsync.
  • Один или больше сквозные прокси с Apache.

Также кажется Репозитории FSFS можно безопасно делить через NFS так что у вас может быть несколько узлов SVN, обслуживающих один и тот же репозиторий через NFS. Однако это может не очень хорошо масштабироваться.

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

Помните об ограничениях систем, управляющих базами данных SVN. У них могут быть ограничения, такие как количество пользователей или проблемы масштабируемости с количеством используемых файлов или каталогов. Например, Linux ext3 fs может выполнять линейный поиск в каталогах, что может быть проблемой для миллионов репозиториев. Могут быть и другие ограничения, например количество пользователей, зарегистрированных в системе. Изучите эти области и при необходимости проверьте.

Re: тестирование. Вы можете использовать сценарий оболочки, чтобы создать столько пользователей, сколько вы ожидаете использовать. Затем используйте другой сценарий для создания репозиториев для каждого пользователя с таким количеством файлов, которое вы обычно ожидаете. Создание комплексного набора тестов выходит за рамки, которые могут быть представлены здесь. Надеюсь, это поможет вам.