CVS Performance - PullRequest
       10

CVS Performance

5 голосов
/ 23 июня 2009

У меня есть огромные проекты в репозитории CVS, и я ищу способы улучшить его производительность. Поможет ли это сжатие CVS? А как насчет шифрования, это снижает скорость?

Спасибо!

Ответы [ 3 ]

9 голосов
/ 26 июня 2009

CVS станет медленнее со временем при повторном использовании.

  • Когда вы извлекаете весь проект, серверу необходимо будет создать каждый каталог (даже если вы с тех пор удалили его - очистка каталогов после извлечения скрывает это от вас).
  • Когда вы извлекаете, каждый файл открывается и проверяется, это может быть очень медленно, если у вас есть сотни / тысячи файлов.
  • Ситуация становится еще хуже, если вы не пытаетесь достать ГОЛОВУ соединительной линии, поскольку перед отправкой ее клиенту необходимо восстановить содержимое.

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

-z GZIPLEVEL

Устанавливает уровень сжатия при обмене данными с сервером. Аргумент GZIPLEVEL должен быть числом от 1 до 9. Уровень 1 - минимальное сжатие (очень быстрое, но сильно не сжимается); Уровень 9 - самое высокое сжатие (использует много процессорного времени, но точно сжимает данные). Уровень 9 полезен только при очень медленных сетевых подключениях. Большинство людей считают уровни от 3 до 5 наиболее полезными.

Пробел между -z и его аргументом необязателен.

3 голосов
/ 23 июня 2009

Проблемы производительности обычно связаны с IO. (Если только вы не видите, что ваш процессор работает на 100%). Я бы порекомендовал попытаться поместить репозиторий на более быстрый дисковый массив (диски RAID 10 и / или выше), чтобы проверить, не увеличивает ли это вашу производительность. Если вы обращаетесь к хранилищу через Интернет, то, скорее всего, это проблема пропускной способности, хотя в зависимости от объема данных, о котором вы говорите, даже простое соединение DSL должно справиться с этим.

2 голосов
/ 23 июня 2009

cvs само по себе не может сжать afaik, но если использовать ssh для транспорта, ssh может это сделать (и я думаю, что по умолчанию). Это поможет, если у вас медленное соединение. edit: на самом деле cvs получил опции -z (как ssh получил -C)

Шифрование - это не то, что нужно для повышения производительности. Использование ssh также сделает шифрование, но это не для производительности, а для безопасности.

Где бы ни находился репозиторий, доступ к диску для репозитория и временных файлов будет влиять на производительность. Это в сочетании с памятью. При проверке cvs создаст то, что отправить клиенту (как временные файлы). Это приводило к значительным потерям памяти и, в некоторых случаях, к использованию памяти (особенно при работе с большими двоичными файлами).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...