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 Enterprise Server APIs

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

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

Примечание.

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

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

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

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

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

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

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

    Примечание.

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

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

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

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

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

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

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

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

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

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

    Примечание.

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

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

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

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

Предупреждение

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

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

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

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

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

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

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

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

    Примечание.

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

  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 см. AUTOTITLE.

По умолчанию ограничение скорости для 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. Подождите завершения запуска конфигурации.

Управление скоростью для службы динамического обновления

Если количество запросов AJAX к вашему экземпляру GitHub Enterprise Server вызывает проблемы, возможно, потребуется скорректировать лимит скорости для контроллера WebSockets, используемого в этих живых обновлениях. Для подробностей о том, как просматривать запросы Alive, см. О мониторе панели мониторинга.

При включённых основных тарифных лимитах по умолчанию — 100 запросов в минуту на IP-адрес. Используйте утилиту ghe-config в административной оболочке, чтобы установить app.github.web-sockets-rate-limit количество разрешённых запросов в минуту на IP-адрес или отключить этот лимит скорости. Установка предела на любое неположительное целочисленное значение (например, 0, -1, disabled) отключает ограничение скорости на контроллере WebSockets.

После изменения этих настроек запустите ghe-config-apply , чтобы применить их.