Subversion svn+ssh требуется ускорение - можем ли мы уменьшить время ожидания для каждого соединения?

У меня есть серия сценариев, которые выполняют много операций SVN и занимают слишком много времени, и мы не уверены, почему. Например

svn switch svn+ssh://srv/repo/...  ...

Это последовательно занимает около 1,1 секунды. Мы используем Subversion 1.6.6 на RHEL 5.4.

Время для ssh srv exit составляет около 80 мсек (мы работали над этим)! Так что время не тратится в SSH.

Бег strace на клиенте и сервере я вижу это (sv это svnserve на сервере, cl это клиент):

sv 08:29:43.470772 close(4)        = 0
sv 08:29:43.470839 unlink("/tmp/tempfile.tmp") = 0
sv 08:29:43.470937 write(1, "( success ( ) ) ", 16) = 16
sv 08:29:43.471062 read(0, "", 4096)       = 0
cl 08:29:44.019452 unlink("/export/.../.svn/lock") = 0

Таким образом, кажется, полсекунды застряли в ожидании завершения этого окончательного чтения. Глядя на источники, я предполагаю, что это тайм-аут чтения в библиотеке apr. Я не вижу, где хотя Subversion вызывает библиотеку с ненулевым таймаутом (игнорируя для HTML).

Есть ли способ сократить этот тайм-аут или иным образом значительно улучшить время выполнения команд?

Мы могли бы обновить версию сервера, если мы знаем, что это поможет, но не можем обновить версию клиента (так как используется около 500 клиентских систем). Мы могли бы перекомпилировать сервер или клиент, если это необходимо.

Спасибо

0 ответов

Другие вопросы по тегам