SVN / TortoiseSVN мучительно медленно

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

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

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

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

10 ответов


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

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


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

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


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

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


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


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


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

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


наш SVN бежал мучительно медленно через TortoiseSVN,затмение и командную строку. Объемы поставок и экспорта были медленными. Наши!--3-->Zend Framework - проекты PHP на основе займет возраст, чтобы обновить и выскакивать в небольшой фиксации около трех файлов займет 5-10 минут.

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

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


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

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


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

мы повернули Show Locks функции и все исправлено!

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

также некоторые хорошие подсказки можно найти на http://tigris-scm.10930.n7.nabble.com/Workaround-for-slow-RepositoryBrowser-on-large-repositories-td92324.html


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

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

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

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