SVN / TortoiseSVN мучительно медленно - PullRequest
61 голосов
/ 04 июня 2009

Я испытываю мучительно медленные операции с одним из наших SVN-репозиториев / проектов.

Например, отмена изменений в одном маленьком файле (10 КБ) занимает 5-10 минут. Или около 40-60 минут, чтобы проверить проект 100 МБ.

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

Следует отметить, что этот проект является Magento проектом. Он не очень большой с точки зрения дискового пространства, но у меня есть 23k Files и 11k папок, и я плохо читал преформы SVN, когда есть много маленьких файлов; Это правда? И могу ли я что-нибудь сделать, чтобы ускорить процесс?

Ответы [ 10 ]

56 голосов
/ 04 июня 2009

Рабочая копия Subversion работает очень плохо, когда существует огромное количество каталогов, как в вашем случае. Для операций записи (даже только локально) в рабочую копию, рабочая копия должна быть заблокирована, что означает, что файл блокировки создается в каждом каталоге (это создает файл 11k), затем выполняется действие, и эти файлы 11k снова удален.

Subversion 1.7 перемещается в другой формат рабочей копии, что должно решить эти проблемы. До этого есть несколько хитростей, которые вы могли бы попытаться ускорить, например, исключив рабочую копию из вашего антивирусного сканера, отключив файловые мониторы в каталоге (например, TortoiseSvnCache), и пытаясь уменьшить общее количество каталогов. (Возможно, проверив несколько отдельных рабочих копий)

20 голосов
/ 23 июля 2009

Существует известная проблема с использованием корзины с возвратом, которая вызывает медленный возврат. Очистка корзины и настройка TortoiseSVN не использовать ее во время операций возврата и ускорить эту операцию (см. http://www.nabble.com/Revert-is-too-slow-td18222196.html).

Это определенно ускорило мои операции по возврату.

10 голосов
/ 29 августа 2011

После смены пароля я испытал крайнюю медлительность с Subversion в Windows. Мне пришлось удалить все каталоги и файлы из %APPDATA%\Subversion\auth.

Теперь SVN быстр как заяц. Моя медлительность произошла как через TortoiseSVN, так и через командную строку.

6 голосов
/ 04 июня 2009

SVN работает медленно, если вы используете NFS ( Сетевая файловая система ) для рабочей копии. Это может быть вашей проблемой.

1 голос
/ 23 сентября 2017

Мы столкнулись с подобной проблемой, проблема была TortoiseSvn (Версия 1.9.7). Например, repo browser потребовалось около 10 минут для инициализации.

Мы отключили функцию Show Locks и все исправлено!

Щелкните правой кнопкой мыши папку и выберите Tortoise\Settings, затем General\Dialog 3, затем , отмените выбор Show Locks

Также некоторые хорошие советы можно найти по адресу http://tigris -scm.10930.n7.nabble.com / Обходной путь для медленного репозиторияBrowser-on-Large-repositories-td92324.html

1 голос
/ 02 февраля 2012

Я также сильно замедлился после обновления до TortoiseSVN 1.7.3.

Тогда я обнаружил, что у меня была отдельная установка SVN 1.6.5. Я удалил оба и переустановил TortoiseSVN, и теперь все намного лучше. Первое обновление дня в TortoiseSVN все еще медленное (1-2 минуты), но быстро после этого.

1 голос
/ 26 сентября 2011

Попробуйте временно отключить антивирусную программу.

1 голос
/ 06 сентября 2011

Наш SVN работал мучительно медленно через TortoiseSVN, Eclipse и командную строку. Фиксирует и экспорт был медленным. Нашим PHP-проектам на основе Zend Framework потребовалось бы много времени для обновления, а получение небольшого коммита из трех файлов заняло бы 5-10 минут.

Наша виртуальная машина SVN ( CentOS ) имела только 700 МБ ОЗУ, что казалось разумным для Linux CLI, работающего только с Subversion через Apache , и работала нормально около года. У нас всего около 20 проектов и только три разработчика.

Я увеличил его до 1,5 ГБ ОЗУ, и теперь все работает намного быстрее, возвращаясь к нашим старым скоростям.

1 голос
/ 04 июня 2009

Отмена изменений в SVN - это локальная операция, которая вообще не должна идти на сервер. Похоже, проблема в вашей рабочей копии проекта.

Попробуйте запустить 'svn cleanup' в рабочей копии; Вы также можете проверить, есть ли у вас проблемы с жестким диском или файловой системой.

0 голосов
/ 04 июня 2009

У меня есть несколько проектов, в которых используется Eclipse IDE. Если вы захватите каталоги проекта Eclipse, вы получите сотни и сотни крошечных файлов, которые имеют такой же эффект для моего проекта, как и ваш.

Я думаю, что когда вы извлекаете файлы, SVN делает это по одному, что означает, что проекты с огромным количеством файлов всегда будут медленными, и вы ничего не можете с этим поделать (кроме того, что вы избегаете частого хранилища целых файлов) операции).

Внесение изменений в один файл не должно быть медленным.

Вы можете попробовать предложения в другом посте о переполнении стека о медленном SVN . Это также может быть связано с использованием базы данных BDB .

...