SVN через SSL: много повторных подключений при фиксации

SVN через SSL: много повторных подключений при фиксации

Сервер SVN в нашей компании, который настраивается самостоятельно и размещается на EC2, довольно медленный. Настройка основана на Apache и mod_dav_svn. Также запущен svnserve, который, похоже, используется системой CI. Мы можем получить доступ к репозиториям, используя SSL с сертификатами сервера и клиента, и я заметил странную вещь во время мониторинга коммита с помощью Wireshark.

Я бы ожидал, что для установления соединения будет использоваться SSL-рукопожатие, и что это соединение будет повторно использоваться в течение сеанса. Однако, похоже, каждые 200 мс/10 кб появляется новое TCP-соединение с новым SSL-рукопожатием (которое из-за сертификатов создает более высокую полезную нагрузку, чем сам трафик SVN).

Разговоры во время фиксации SVN. Обратите внимание, что для каждого соединения передается максимум 10 кб данных.

разговоры во время фиксации

Начало фиксации в виде пакетов. Насколько я могу судить, сервер отправляет зашифрованное оповещение о закрытии SSL-соединения. Затем вы видите следующее рукопожатие...

введите описание изображения здесь

Apache ssl.conf:

LoadModule dav_svn_module     modules/mod_dav_svn.so
LoadModule authz_svn_module   modules/mod_authz_svn.so

SSLVerifyClient optional
SSLUserName SSL_CLIENT_S_DN_CN
SSLCARevocationFile /etc/httpd/ssl/xxx-revoke.pem

<Location /svn/repos>
    DAV svn
    SVNPath /path/svn/repos
    SSLRequireSSL
    SSLRequire (%{SSL_CLIENT_S_DN_O} in {"c1", "c2"}) and !(%{SSL_CLIENT_S_DN_CN} in {"old1", "old2"})

   # Allow large files
   LimitXMLRequestBody 0
   LimitRequestBody 0
</Location>

Я использую TortoiseSVN GUI/cli клиенты. Мое предположение, что на стороне сервера неправильная конфигурация, вы согласны? Есть подсказки?

решение1

Хорошо, я уже нашел решение проблемы повторных подключений и не удаляю вопрос на случай, если кто-то еще будет его искать.

httpd.conf

-KeepAlive Off
+KeepAlive On

-MaxKeepAliveRequests 100
+MaxKeepAliveRequests 1000

Если KeepAlive отключен, Apache закрывает соединение после каждого запроса, поэтому мы увидели так много повторных подключений и сертификатов.

Эти и некоторые другие советы по повышению производительности можно найти вSVN-руководство

Связанный контент