Производительность SVN после многих изменений

В Java все находится в форме класса.

Если вы хотите использовать любой объект, тогда у вас есть две фазы:

  1. Объявить
  2. Инициализация

Пример:

  • Объявление: Object a;
  • Инициализация: a=new Object();

То же самое для концепции массива

  • Объявление: Item i[]=new Item[5];
  • Инициализация: i[0]=new Item();

Если вы не дают секцию инициализации, тогда возникает NullpointerException.

50
задан bahrep 10 September 2018 в 01:15
поделиться

8 ответов

Какой repo Вы имеете? FSFS или BDB?

(Позволяют нам принять FSFS на данный момент, так как это - значение по умолчанию.)

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

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

(Так, при использовании FSFS repo ответ Brad Wilson является неправильным.)

В случае BDB repo, ГЛАВНЫЙ (последний) пересмотр является полнотекстовым, но более ранние изменения создаются как серия diffs против головы. Это означает, что предыдущие версии должны быть повторно вычислены после каждой фиксации.

Для большего количества информации: http://svn.apache.org/repos/asf/subversion/trunk/notes/skip-deltas

P.S. Наш repo составляет приблизительно 20 ГБ приблизительно с 35 000 изменений, и мы не заметили снижения производительности.

60
ответ дан David Smith 7 November 2019 в 10:55
поделиться

Подрывная деятельность хранит актуальнейшую версию как полный текст с обращенным в прошлое diffs. Это означает, что обновления головы всегда быстры, и за что Вы инкрементно платите, выглядит более далеким и все дальше назад в истории.

16
ответ дан Brad Wilson 7 November 2019 в 10:55
поделиться

Я лично не имел дело с репозиториями Подрывной деятельности с кодовыми базами, больше, чем 80K LOC для фактического проекта. Самый большой репозиторий, который я на самом деле имел, был приблизительно 1,2 концертами, но это включало все библиотеки и утилиты, которые использует проект.

я не думаю, что повседневное использование будет затронуто так очень, но что-либо, что должно просмотреть различные изменения, мог бы замедлиться немного. Это даже не может быть примечательно.

Теперь, с sys администраторской точки зрения, существует несколько вещей, которые могут помочь Вам минимизировать узкие места производительности. Так как Подрывная деятельность является главным образом основанной на файле системой, можно сделать это:

  • Помещенный фактические репозитории в различный диск
  • Удостоверяются, что никакие приложения захвата файла, кроме svn, не работают над диском выше
  • , Делают диски по крайней мере 7 500 об/мин. Вы могли попытаться получить 10 000 об/мин, но это может быть излишество
  • Обновление LAN к гигабиту, если все находятся в том же офисе.

Это может быть излишеством для Вашей ситуации, но это - то, что я обычно делал для других интенсивных файлом приложений.

, Если Вы когда-нибудь "перерастаете" Подрывную деятельность, тогда По необходимости , будет Ваше следующее, повышаются. Это, передает самое быстрое приложение управления исходным кодом для очень крупных проектов.

5
ответ дан Hector Sosa Jr 7 November 2019 в 10:55
поделиться

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

4
ответ дан Hans Sjunnesson 7 November 2019 в 10:55
поделиться

Подрывная деятельность только хранит дельту (различия) между 2 изменениями, таким образом, это помогает сохранению БОЛЬШОГО КОЛИЧЕСТВА пространства, особенно если Вы только фиксируете код (текст) и никакие двоичные файлы (изображения и документы).

Дополнительно IВґve, замеченный много очень больших проектов с помощью svn и никогда, не жаловался на производительность.

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

, О, и IВґve работал над репозиториями CVS с 2 ГБ + материала (код, imgs, документы) и никогда не имел проблему производительности. Так как svn является большим улучшением на cvs я, donВґt думают, что необходимо волноваться о.

Hope это помогает легкий Ваш ум немного;)

3
ответ дан Decio Lira 7 November 2019 в 10:55
поделиться

Единственные операции, которые, вероятно, замедлятся, являются вещами, которые читают информацию из нескольких изменений (например, Вина SVN).

2
ответ дан RB. 7 November 2019 в 10:55
поделиться

Я не уверен ..... Я использую SVN с apache на Centos 5.2. Работает нормально Номер ревизии был 8230 примерно такой ... И на всех клиентских машинах Commit был настолько медленным, что нам пришлось ждать как минимум 2 минуты для файла размером 1 КБ. Я говорю об одном файле, который не имеет большого размера. 1236 Затем я создал новый репозиторий. Начинается с рев. 1. Теперь работает нормально. Быстрый. использовал свнадмин создать хххххх. не проверял, является ли это FSFS или BDB .....

-1
ответ дан 7 November 2019 в 10:55
поделиться

Возможно, вам стоит подумать об улучшении рабочего процесса.

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

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

Таким образом, любой может вернуться к чистой копии с удобной историей просмотра. Слияние намного проще, и разработчик по-прежнему может вносить свой беспорядок сколько угодно.

-2
ответ дан 7 November 2019 в 10:55
поделиться
Другие вопросы по тегам:

Похожие вопросы: