Skip to main content

Настройка ограничений скорости

Для GitHub Enterprise Server можно задать ограничения скорости с помощью Консоль управления.

Кто может использовать эту функцию?

Site administrators can configure rate limits for a GitHub Enterprise Server instance.

О ограничениях скорости для GitHub Enterprise Server

Чтобы предотвратить чрезмерное использование ресурсов на ваш экземпляр GitHub Enterprise Server, которые могут повлиять на доступность или производительность экземпляра для всех пользователей, можно настроить ограничения скорости. Ограничения скорости настраиваются для GitHub Enterprise Server APIs и GitHub Actions.

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

Можно также настроить ограничения скорости для попыток проверки подлинности на Консоль управления. Дополнительные сведения см. в разделе Управление доступом к консоли управления.

Включение ограничений скорости для GitHub Enterprise Server APIs

Чрезмерное количество запросов к GitHub Enterprise Server APIs может повлиять на доступность и производительность вашего экземпляра. Дополнительные сведения о том, как ограничения скорости для API влияют на пользователей, см. в разделе Ограничения скорости для REST API.

Список пользователей можно исключить из ограничений скорости API с помощью служебной программы ghe-config в административной оболочке. Дополнительные сведения см. в разделе Служебные программы командной строки.

Note

Консоль управления содержит период времени (в минуту или час) для каждого ограничения скорости.

  1. В учетной записи администратора GitHub Enterprise Server, в правом верхнем углу любой страницы щелкните .

  2. Если вы еще не на странице "Администратор сайта", в левом верхнем углу щелкните Администратор сайта.

  3. На боковой панели " "Администратор сайта" щелкните Консоль управления.

  4. В разделе "Ограничение скорости" выберите Включить ограничение скорости API HTTP.

  5. Введите ограничения для запросов, прошедших и не прошедших проверку подлинности для каждого API, или примите предварительно заполненные ограничения по умолчанию.

  6. На боковой панели "Параметры" нажмите кнопку "Сохранить параметры".

    Note

    Сохранение параметров в Консоль управления перезапускает системные службы, что может привести к простоям, видимым пользователем.

  7. Подождите завершения запуска конфигурации.

Включение дополнительных ограничений скорости

Установка дополнительных ограничений скорости защищает общий уровень обслуживания на ваш экземпляр GitHub Enterprise Server.

  1. В учетной записи администратора GitHub Enterprise Server, в правом верхнем углу любой страницы щелкните .

  2. Если вы еще не на странице "Администратор сайта", в левом верхнем углу щелкните Администратор сайта.

  3. На боковой панели " "Администратор сайта" щелкните Консоль управления.

  4. В разделе "Ограничение скорости" выберите Включить дополнительное ограничение скорости.

  5. Введите ограничения для общего количества запросов, ограничения ЦП и ограничения ЦП для поиска или примите предварительно заполненные ограничения по умолчанию.

  6. На боковой панели "Параметры" нажмите кнопку "Сохранить параметры".

    Note

    Сохранение параметров в Консоль управления перезапускает системные службы, что может привести к простоям, видимым пользователем.

  7. Подождите завершения запуска конфигурации.

Включение ограничений скорости для Git

Если сотрудник GitHubрекомендовал его, можно применить ограничения скорости Git для каждой сети репозитория или идентификатор пользователя. Ограничения скорости Git выражаются в параллельных операциях в минуту и подстраиваются под текущую загрузку ЦП.

Warning

Мы рекомендуем оставить этот параметр отключенным, если только не рекомендуется участником GitHub. Операции Git редко являются ведущим драйвером использования ЦП и ОЗУ. Включение этой функции может повысить вероятность сбоя операций Git в условиях высокой нагрузки, но не решает основную причину этих условий.

  1. В учетной записи администратора GitHub Enterprise Server, в правом верхнем углу любой страницы щелкните .

  2. Если вы еще не на странице "Администратор сайта", в левом верхнем углу щелкните Администратор сайта.

  3. На боковой панели " "Администратор сайта" щелкните Консоль управления.

  4. В разделе "Ограничение скорости" выберите Включить ограничение скорости Git.

  5. В разделе "Ограничение сети репозитория" введите ограничение для каждой сети репозитория.

  6. В разделе "Ограничение идентификатора пользователя" введите ограничение для каждого идентификатора пользователя.

  7. На боковой панели "Параметры" нажмите кнопку "Сохранить параметры".

    Note

    Сохранение параметров в Консоль управления перезапускает системные службы, что может привести к простоям, видимым пользователем.

  8. Подождите завершения запуска конфигурации.

Настройка ограничений скорости для GitHub Actions

Вы можете применить ограничение скорости к выполнению рабочего процесса GitHub Actions. Дополнительные сведения о GitHub Actionsсм. в разделе Сведения о GitHub Actions для предприятий.

Сведения об ограничениях скорости для GitHub Actions

Экземпляр GitHub Enterprise Server назначает каждому заданию рабочего процесса GitHub Actions. Если экземпляру не удается немедленно назначить задание доступному средству выполнения тестов, задание будет ожидать в очереди, пока средство выполнения тестов не освободится. Если GitHub Actions поддерживает высокую нагрузку, очередь может создать резервную копию, а производительность ваш экземпляр GitHub Enterprise Server может снизиться.

Чтобы избежать снижения производительности, можно настроить ограничение скорости для GitHub Actions. Это ограничение скорости выражается в количестве запусков задания в минуту. GitHub Enterprise Server вычисляет и применяет ограничение скорости для суммы всех выполнений заданий в экземпляре. Если запуски превышают ограничение скорости, то дополнительные запуски завершаются ошибкой вместо входа в очередь. Следующая ошибка появится в заметках запуска.

Превышено ограничение скорости для запросов на выполнение рабочего процесса. Подождите некоторое время перед повторением запуска.

Соответствующее ограничение скорости защищает ваш экземпляр GitHub Enterprise Server от ненормального использования GitHub Actions без вмешательства в повседневные операции. Точное пороговое значение зависит от доступных ресурсов экземпляра и общего профиля нагрузки. Дополнительные сведения о требованиях к оборудованию для GitHub Actionsсм. в разделе Начало работы с GitHub Actions для сервера GitHub Enterprise.

По умолчанию ограничение скорости для GitHub Actions отключено. Поскольку GitHub Enterprise Server может обрабатывать временные пики использования без снижения производительности, это ограничение скорости предназначено для защиты от устойчивой высокой нагрузки. Рекомендуется оставить ограничение скорости выключенным, пока отсутствуют проблемы с производительностью. В некоторых случаях Служба поддержки GitHub рекомендуется включить ограничение скорости для GitHub Actions.

Включение или выключение ограничений скорости для GitHub Actions

  1. SSH в ваш экземпляр GitHub Enterprise Server. Если экземпляр состоит из нескольких узлов, например, если настроен высокий уровень доступности или георепликация, передача осуществляется по SSH в основной узел. При использовании кластера можно использовать для передачи по SSH в любой узел. Замените HOSTNAME именем узла для экземпляра, именем узла или IP-адресом узла. Дополнительные сведения см. в разделе Доступ к административной оболочке (SSH).

    Shell
    ssh -p 122 admin@HOSTNAME
    
  2. Чтобы включить и настроить ограничение скорости, выполните следующие две команды, заменив RUNS-PER-MINUTE выбранным значением.

    ghe-config actions-rate-limiting.enabled true
    ghe-config actions-rate-limiting.queue-runs-per-minute RUNS-PER-MINUTE
    
  3. Чтобы отключить ограничение скорости после включения, выполните следующую команду.

    ghe-config actions-rate-limiting.enabled false
    
  4. Чтобы применить конфигурацию, выполните следующую команду.

    ghe-config-apply
    
  5. Подождите завершения запуска конфигурации.