Skip to main content
We publish frequent updates to our documentation, and translation of this page may still be in progress. For the most current information, please visit the English documentation.

Сведения о кэшировании репозитория

Вы можете повысить производительность операций чтения Git для распределенных команд и ферм непрерывной интеграции с кэшированием репозитория.

Примечание. Кэширование репозитория в настоящее время доступно в бета-версии и может быть изменено.

Если у вас есть команды и фермы CI, расположенные в разных точках мира, вы можете снизить производительность в основном экземпляре GitHub Enterprise Server. Хотя активные геореплики могут повышать производительность запросов на чтение, это происходит за счет ограничения пропускной способности операций записи. Чтобы снизить нагрузку на основной экземпляр и повысить производительность пропускной способности записи, можно настроить кэш репозитория, асинхронное зеркало, доступное только для чтения, для репозиториев, расположенных рядом с этими географически распределенными клиентами.

Кэш репозитория устраняет потребность в GitHub Enterprise Server для передачи по сетевому каналу дальнего радиуса действия одних и тех же данных несколько раз для обслуживания нескольких клиентов, путем обслуживания данных репозитория вблизи от ферм CI и распределенных команд. Например, если основной экземпляр находится в Северной Америке и широко присутствует в Азии, вы сможете настроить кэш репозитория в Азии, который будет использоваться средствами выполнения CI.

Кэш репозитория прослушивает основной экземпляр для изменения данных Git, будь то один экземпляр или геореплицированный набор экземпляров. Фермы CI и другие потребители с большим количеством операций чтения клонируют и извлекают данные из кэша репозитория, а не из основного экземпляра. Изменения распространяются по сети через регулярные интервалы для каждого экземпляра кэша, а не однократно для каждого клиента. Данные Git обычно отображаются в кэше репозитория через несколько минут после отправки данных в основной экземпляр. Системы CI могут использовать cache_sync веб-перехватчик для реагирования на данные, доступные в кэше.

Вы можете точно определить, какие репозитории будут синхронизироваться с кэшем репозитория. Данные Git будут реплицироваться только в указанные расположения.

Можно настроить кэширование репозитория, создав специальный тип реплики, называемой кэшем репозитория. Дополнительные сведения см. в разделе Настройка кэша репозитория.