2014-09-26 3 views
4

Я вынужден использовать визуально-svn-сервер, который находится в нашем домене Windows. Проблема в том, что с клиентом Windows он очень медленный. Странно, что один и тот же репозиторий очень быстро работает с клиентом linux. Разница подобна 3sec против 90 секунд. Я знаю, что кто-то должен исправить сервер, вместо того, чтобы пытаться исправить клиента, но у меня нет изменений в этом.Очень медленный клиент svn на окнах, очень быстрый клиент svn на linux

Итак, чтобы отладить проблему, я сделал некоторый захват пакета с помощью wirehark, и это похоже на окна, когда вы делаете «svn up» (в обновленном репозитории) делает довольно много переговоров ldap, прежде чем говорить снова с фактическим svn -server. Это требует времени. Linux svn client при выполнении 'svn up' не выполняет никаких вызовов ldap. Проблема не в моей машине, но и у всех моих коллег окон клиентов.

Я попытался заставить клиента svn «базовому» auth с параметром конфигурации http-auth-types (http://svnbook.red-bean.com/en/1.7/svn.advanced.confarea.html), но это не помогло. Я понял, что это будет базовый, не ldap, http-basic-auth. Я могу подтвердить, что параметр включен, поскольку установка его в «digest» говорит о том, что метод аутентификации недоступен. Но даже это занимает около 60 секунд, поэтому я предполагаю, что он делает вещи ldap-wacko, прежде чем пытаться выполнить аутентификацию.

Клиент subversion, который я использую, составляет 1,8 серии из официальной сборки черепахи svn. Я попробовал также клиент slicksvn, и у него была такая же проблема. В версиях svn ra_serf обрабатывает запросы https, а мой репозиторий - это сервер visual-svn, расположенный по адресу https://my_server_intra_dns_name/

При открытии адреса браузером он снова работает быстро, как и следовало ожидать, поэтому проблема не должна быть с dns или аналогичным.

Я парень linux, поэтому я немного потерялся с окнами, но у кого-нибудь есть идея wtf здесь?

---- edit ---- У меня также был Linux в качестве гостевой операционной системы на хосте Windows, а внутри этого linux, выполняющего svn up, было около 3 секунд, сравните это с родными окнами svn.exe вверх, что заняло минуту!

+0

Какую версию VisualSVN Server вы запускаете? Ваша Windows (клиентская) машина подключена к Интернету? – bahrep

+0

Клиенты клиента Windows и Linux подключены к Интернету, версия сервера svn для визуальных версий - 3.0. – susundberg

+0

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

ответ

2

Если компьютер Windows имеет ограниченное подключение к Интернету, вы можете заметить задержку при запуске команды клиента Subversion в удаленном репозитории через HTTPS.

Использование анализатора трафика вы можете заметить, что задержка происходит, когда Windows пытается получить доступ к ctldl.windowsupdate.com и получает тайм-аут. Windows пытается получить доступ к ctldl.windowsupdate.com для проверки Certificate Trust List (i.e. Certificate Revocation List). При ограниченном подключении к Интернету Windows может не иметь доступа к нему, что приводит к этим задержкам.

Если это не ваш случай, то я предлагаю contacting VisualSVN's support team for investigation.

+0

Спасибо за предложение. Это, похоже, не так, я не вижу окна, даже подключающие этот сервер. Мне кажется, что время тратится на запросы LDAP, возможно, на тайм-аут. Но я думаю, что вы на правильном пути, подозревая, что проблема связана с сертификатом. – susundberg

+2

@susundberg Windows использует LDAP для проверки отзыва сертификатов, если это возможно. –

+1

@IvanZhakov спасибо! На самом деле это имело смысл привести меня к решению. Я попал в googling и нашел страницу (http://technet.microsoft.com/en-us/library/cc753863.aspx#BKMK_Rev_Local) и изменил параметры таймаута по умолчанию 15 и 20 с при проверке сети на 1 с и 1 с клиент работает так быстро, как должен. – susundberg

0

В моем случае это было связано с настройками прокси-сервера Windows, которые вы установили в IE (я использую клиент TortoiseSVN, а Visual SVN Server был настроен на использование базовой проверки подлинности).

После того, как я настроил настройки прокси-сервера IE (автоматический для меня, но для вас это может быть что-то другое), начальная задержка исчезла.

Это помогло, хотя сервер svn находится в локальной локальной сети, и я проверил с Wireshark, если трафик проходит через прокси. В Tortoise у меня отключен прокси. Почему это помогло с моей проблемой - понятия не имею.

Начальная задержка у меня была 11-13 секунд. Теперь рядом нет.

И я не использую клиент ssh.

Перейдите по адресу http (s) вашего SVN-сервера, используя ваши браузеры: IE, Fireofx, что угодно, и если ответ быстрый, то очень возможно, что это проблема клиента svn или из-за некоторых подобных настроек (аналогично настройкам вашего браузера).

Например, IE был медленным (IE был настроен для локального подключения только ранее), Firefox (с надлежащими настройками прокси) был в порядке - и SVN-сервер IS локальный (звучит как какая-то проблема с сетью/брандмауэром/маршрутизацией) , но настройки прокси помогли мне).

Смежные вопросы