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

Если сотрудник группы рекомендовал его, можно применить ограничения скорости Git для каждой GitHubсети репозитория или идентификатор пользователя. Пределы скорости 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оборудованию см. в разделе Начало работы с GitHub Actions for GitHub Enterprise Server.

По умолчанию ограничение скорости для 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 , чтобы применить их.