Насколько близко к 1:1 использование хранилища SVN-сервера по сравнению с уменьшенным размером контента?
Скажем, я удалил 100 ГБ контента с сервера VisualSVN. Могу ли я сделать какие-либо выводы о пространстве, которое используется на самом сервере для хранения этого контента?
Если это все сжато, я бы предположил, что это занимает чуть менее 100 ГБ.
Если есть огромное количество журналов или еще много чего, теоретически это увеличит размер.
В любом случае я могу надежно определить объем используемой памяти сервера?
1 ответ
Достоверно? Нет шансов.
Svn использует аналогичные методы для diff
чтобы уменьшить размер отдельных коммитов, файлы эффективно сжимаются в "базовый" файл и дополнения и вычитания из этого файла. Это, видимо, даже работает для двоичных файлов
Проблема в том, что вы не вытаскиваете все эти промежуточные двоичные объекты, в течение нескольких ревизий объем пространства, используемого для обработки разницы между ревизиями, может быть в несколько раз больше, чем сам файл.
Вы также не снимаете удаленные файлы. Если вы работаете с особенно большими файлами, которые регулярно удаляются, этот удаленный файл будет храниться на сервере до конца времени, но никогда не будет отображаться на вашем жестком диске. Это заставит сервер иметь большее количество данных по сравнению с вашей копией.
Если вы часто используете внешние элементы для связывания больших проектов, вы можете получить в несколько раз больше данных, чем если бы вы проверяли только отдельные проекты. Теги также почти не занимают места на сервере (если вы не редактируете файлы под ними), поэтому их проверка также не соответствует занимаемому на сервере месту.
Единственный вывод, который вы действительно можете сделать, это то, что с учетом файловых ошибок, журналов и удаленных файлов и до тех пор, пока вы исключаете внешние данные и теги / ветви, сервер, вероятно, имеет больше данных, чем ваша локальная копия. Сжатие файла может повлиять на это, хотя.