У меня проблема с определенным сервером, и я был бы признателен за помощь в отладке.
Запуск git версии 1.7.10.msysgit.1, установленный как часть расширений git 2.3.1 Windows 2003 Standard R2 SP2. Также установлен cwRsync (на основе Cygwin 1.7). Работает Trend AV (нет прав на изменение, так как это рабочая машина). Сервер представляет собой виртуальную машину VMWare и достаточно загружен.
Основная проблема заключается в том, что git pull (либо из git extensions, либо из git bash) занимает несколько минут даже для очень маленького репозитория (600 КБ и 26 файлов). Загрузка ЦП достигает почти 100% (на 1 ЦП) на время. Диспетчер задач приписывает эту нагрузку «Системе». Память и ЦП для git.exe остаются постоянными (и низкими).
Вообще git изначально очень медленно что-либо делал на сервере. Я значительно улучшил это, изменив $PS1, удалив __git_ps1. После этого git clone, git push, локальные операции git все еще довольно вялые (по 5-10 секунд каждый), но, по крайней мере, их можно использовать. (Я использую Linux 90% своего времени, так что ожидайте молниеносных скоростей!)
Захват пакетов во время git pull показывает, что SSH-связь происходит на 80% в процессе и длится всего несколько секунд (как и следовало ожидать в хорошей системе). Функционально git pull успешно завершается без сообщений об ошибках.
Ручное использование ssh для входа в систему или извлечения файлов выглядит нормально, используя plink, оригинальный ssh (в комплекте) ssh 4.6p1 openSSL 0.9.8e или обновленную замену ssh 5.9p1 openSSL 0.9.8s Этот вид скидок любой сети или аспект, связанный с SSH.
В системных журналах или журналах расширения git нет ничего, указывающего на какие-либо ошибки.
Я посмотрел дефрагментацию на 2 установленных дисках. Оба нуждаются в дефрагментации (10% и 14%), один заполнен на 90%, другой имеет разумное пространство. У меня нет разрешения на дефрагментацию, но я попытался клонировать репо на оба 2 диска без существенной разницы в ошибке.
Я с подозрением относился к Trend AV (но не могу изменить это, чтобы исключить его), но провел те же тесты, используя тот же репозиторий на другом сервере, и это было невероятно быстро.
Я с подозрением отнесся к тому, что git может сканировать $HOME (учетная запись имеет множество внешних общих ресурсов в подкаталоге NetHood), но выполнение тех же тестов под отдельной учетной записью без ничего в NetHood не имело значения.
Я понимаю, что это не проблема продукта, но у меня закончились идеи. Учитывая, что я пытаюсь убедить заинтересованную компанию перейти на git - подобные проблемы на корпоративном сервере точно не помогают моему аргументу!
Спасибо, Дэйв.