Я удивлен, сколько времени требуется, чтобы объединить очень небольшое изменение из любой конкретной ветви в ствол; 1-2 минуты, чтобы объединить несколько строк текста, которые были изменены в один текстовый файл длиной всего 2 КБ.
Я бы хотел, если возможно, сделать объединение чертовски быстрее, но не знаю когда начать. Я быстро погуглил, и возможные причины медленного слияния, похоже, включают все без исключения следующие: -
Думаю, я действительно хочу знать, как узнать, какие из вышеперечисленных пунктов делают слияние настолько медленным.
Прямо сейчас я в неведении относительно того, работа на клиенте или на сервере занимает больше всего времени (я подозреваю, что это клиент, так как загрузка ЦП на сервере невелика). Я действительно думал, что это может быть огромное количество mergeinfo, которое накопило более 100 слияний, но я провел тест, в котором я удалил всю информацию о слиянии из нескольких веток, а затем выполнил слияние и обнаружил ту же медлительность.
Итак, я хотел бы спросить: -
Прямо сейчас я в неведении относительно того, работа на клиенте или на сервере занимает больше всего времени (я подозреваю, что это клиент, так как загрузка ЦП на сервере невелика). Я действительно думал, что это может быть огромное количество mergeinfo, которое накопило более 100 слияний, но я провел тест, в котором я удалил всю информацию о слиянии из нескольких веток, а затем выполнил слияние и обнаружил ту же медлительность.
Итак, я хотел бы спросить: -
Прямо сейчас я в неведении относительно того, работа на клиенте или на сервере занимает больше всего времени (я подозреваю, что это клиент, так как загрузка ЦП на сервере невелика). Я действительно думал, что это может быть огромное количество mergeinfo, которое накопило более 100 слияний, но я провел тест, в котором я удалил всю информацию о слиянии из нескольких веток, а затем выполнил слияние и обнаружил ту же медлительность.
Итак, я хотел бы спросить: - * Как подойти к диагностике / профилированию активности SVN? * Основываясь на информации ниже, есть ли что-то действительно очевидное, что может вызвать низкую производительность?
Спасибо
Крис
Вот некоторые факты / цифры о нашей настройке SVN
Править
Возможно, стоит добавить это при ветвлении / слиянии , мы ответвляемся от ствола и всегда объединяем всю ветвь обратно в ствол. Таким образом, вся информация mergeinfo находится в папке основной (и ветвей).
Выводы
В моем случае Наблюдение за процессом SVN черепахи в проводнике процессов во время слияния было весьма показательным: во время слияния на моем жестком диске байты ввода-вывода находились в диапазоне от 500 кб / с до 3 Мб / с большую часть времени. На SSD байты ввода-вывода были до 10-20 Мбит / с. [Скорее сбивает с толку, некоторые слияния на моем жестком диске имели сопоставимую скорость (и байты ввода-вывода были одинаково высоки), как и на моем SSD - в этих случаях я предполагаю, что многие из читаемых файлов уже были в файловом кеше Windows ].
Я обнаружил следующее: увеличенная скорость слияния