Задать вопрос
@ShadowTrix

Оптимальная настройка ограничения соединений в nginx?

Сервер: CPU 8 ядер, RAM 16 ГБ.
На сервере с десяток не особо нагруженных проектов, но бывают всплески входящих соединений.

В nginx.conf сейчас такие правила:

limit_conn_zone $binary_remote_addr zone=perip:10m;
limit_conn perip 10;
limit_conn_zone $server_name zone=perserver:10m;
limit_conn perserver 100;


Это помогает "держать" сервер, но на фронте много запросов через JS в таймаутах от 30 сек до 1 мин.
Соответственно, ограничение в 10 соединений для 1 IP вызывает ошибки типа:
limiting connections by zone "perip"

Поднимал до 100, но сразу получал извне кучу GET-запросов, которые сильно нагружали сервер.

Читал, но никак не могу разобраться, что все же нужно использовать.

Поделитесь вашей практикой и дайте советы.

Спасибо.
  • Вопрос задан
  • 96 просмотров
Подписаться 2 Простой 2 комментария
Пригласить эксперта
Ответы на вопрос 2
ky0
@ky0 Куратор тега Nginx
Миллиардер, филантроп, патологический лгун
Надо отталкиваться от прикладных последствий. "Всплески входящих соединений" как-то влияют на работоспособность системы? Если нет - ограничивать коннекты преждевременно (ну, разве что как-то на грани здравого смысла, типа 50 запросов в секунду на пользователя).
Ответ написан
@ShadowTrix Автор вопроса
Вообщем, удалил вышеприведенные правила и установил следующие:

limit_req_zone $binary_remote_addr zone=reqip:10m rate=50r/s;
limit_req zone=reqip burst=10 nodelay;


Понаблюдаю
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы