Назад | Перейти на главную страницу

Лучшая практика ограничения скорости apache

У меня такой бизнес-сценарий:

  1. Apache http server load балансирует клиентский запрос к серверам приложений через ajp
  2. вся ресурсоемкая работа выполняется на серверах приложений по каждому запросу
  3. запросы основаны на приложении пользователя, однако нет простого способа ограничить скорость пользователя.
  4. большинство пользователей будут приходить с одного IP-адреса, некоторые - с нескольких IP-адресов. Поэтому для решения этой проблемы я предполагаю, что каждый пользователь будет приходить с IP-адреса.
  5. цель - предотвратить заваливание сервера запросами одним пользователем.

В настоящее время я использую ограничение скорости iptables, чтобы ограничить максимальное количество одновременных подключений на ip.

Есть ли лучший подход?

Вероятно, ваш лучший шанс будет что-то вроде http://bloke.org/apache/limit-apache-requests-per-ip-address-with-mod_limitipconn/

Кроме того, поскольку вы используете ajp, я предполагаю, что вы входите в группу tomcat. Другой метод, в котором я помогал, - это использование асинхронного сервлета - https://plumbr.eu/blog/how-to-use-asynchronous-servlets-to-improve-performance