Если у вас есть команды и фермы CI, расположенные в разных точках мира, вы можете снизить производительность в основном экземпляре GitHub Enterprise Server. Хотя активные геореплики могут повышать производительность запросов на чтение, это происходит за счет ограничения пропускной способности операций записи. Чтобы снизить нагрузку на основной экземпляр и повысить производительность пропускной способности записи, можно настроить кэш репозитория, асинхронное зеркало, доступное только для чтения, для репозиториев, расположенных рядом с этими географически распределенными клиентами.
Кэш репозитория устраняет потребность в GitHub Enterprise Server для передачи по сетевому каналу дальнего радиуса действия одних и тех же данных несколько раз для обслуживания нескольких клиентов, путем обслуживания данных репозитория вблизи от ферм CI и распределенных команд. Например, если основной экземпляр находится в Северной Америке и широко присутствует в Азии, вы сможете настроить кэш репозитория в Азии, который будет использоваться средствами выполнения CI.
Кэш репозитория прослушивает основной экземпляр для изменения данных Git, будь то один экземпляр или геореплицированный набор экземпляров. Фермы CI и другие потребители с большим количеством операций чтения клонируют и извлекают данные из кэша репозитория, а не из основного экземпляра. Изменения распространяются по сети через регулярные интервалы для каждого экземпляра кэша, а не однократно для каждого клиента. Данные Git обычно отображаются на кэш репозитория в течение нескольких минут после отправки данных в основной экземпляр.{ % ifversion ghes %} cache_sync
Веб-перехватчик может использоваться системами CI для реагирования на данные, доступные в кэше.{ % endif %}
GitHub Enterprise Server кэширует данные Git и Хранилище больших файлов Git (Git LFS).
Вы можете точно определить, какие репозитории будут синхронизироваться с кэшем репозитория. Данные Git будут реплицироваться только в указанные расположения.
Можно настроить кэширование репозитория, создав специальный тип реплики, называемой кэшем репозитория. Дополнительные сведения см. в разделе Настройка кэша репозитория.
Note
Существует не более 8 реплика высокого уровня доступности (пассивные и активные и гео реплика, а также кэш репозитория экземпляры), разрешенные для GitHub Enterprise Server.