2009-02-02 2 views
7

Мы планируем установить репозиторий Subversion в среде, где сеть довольно медленна сама по себе. В предыдущем VCS использовался VSS, и для него это был кошмар (не только из-за его «функции»).Svnserve VS mod_dav_svn

Итак, мой вопрос - выбор между Svnserve и модулем apache. Я знаю, что модуль apache будет медленнее из-за протокола без сохранения состояния, но я не знаю, сколько увеличивается время, которое оно подразумевает.
Есть ли какие-то критерии или правила, указывающие среднюю разницу между двумя серверами?

ответ

6

Взятые из this resource,

В большинстве случаев, если система управления версиями Subversion обсуждается, темы вращаются вокруг используемых бэкэндов репозитория (Berkeley DB (bdb) и FSFS) и настраивают некоторые серверные программы или даже аппаратные параметры.

Как представляется, менее известно, что выбор используемого варианта сервера - модуля mod_dav_svn Apache Subversion или автономного сервера svnserve - оказывает большое влияние на измеренную и воспринимаемую производительность подрывной деятельности. Обычно Svnserve значительно быстрее, чем Apache mod_dav_svn

В синтетической, нерепрезентативного тесте я выполняется с использованием Subversion 1.4.5, 1.1.1 Subversion и Apache 2.0, производительность mod_dav_svn было от 30% до 400% медленнее, чем Svnserve годов. Производительность svnserve была близка к локальным прямым доступом к репозиторию с использованием инструментов командной строки svn.

Самый значительный штраф за исполнение был измерен в процессе svn log и svn слияния с сервером mod_dav_svn - вы сразу заметите ухудшение производительности svn log, если, например. используя подзаголовок Subclipse Subversion.

Автор также предоставляет a benchmark, сравнивая эти два.

Я запускаю snvserv, который обслуживает около 50 репозиториев на серверах Berkely DB и не имеет никаких претензий на производительность. Тем не менее, в качестве примечания есть только 10 пользователей.

Я действительно нашел, что svnserve очень прост в установке и обслуживании и не наказывает вас за недостаток фьючерсов. SSH может быть включен для svnserve и безопасности на основе маршрута, также возможно, если вы являетесь «одним репозиторием, многие проекты» типа «Стив Роббинс» говорит о :)

2

Из моего собственного бенчмаркинга я не обнаружил практически никакой разницы между DAV, SVN и FILE при выполнении операций на репо вокруг метки 500meg. Основное преимущество модели DAV является более зернистая безопасности вы получаете, особенно если вы «один репо, многие проекты» такой парень,

2

Возможно, вам будет интересно узнать, что выпуск 1.7 SVN будет содержать faster HTTP protocol. Новый модуль mod_dav_svn будет поддерживать как старый, так и новый протокол HTTP.

Я бы пошел с HTTP и обновил до SVN 1.7, чтобы позже установить ограничение производительности. Это немного больше работы, но имеет то преимущество, что вы можете использовать любой из модулей аутентификации Apache. Это здорово, если вы не вводите еще один пароль пользователя. Например, вы можете интегрироваться с контроллером домена Windows.

Смежные вопросы