Как регулировать AJP

В Windows я подключаю Apache2 к Tomcat7 через AJP.

Есть ли какая-либо конфигурация, которая может ограничить связь?

Это мои рабочие. Свойства

worker.list=node1
worker.node1.port=8009
worker.node1.host=127.0.0.1
worker.node1.type=ajp13

Это мой httpd.conf:

<VirtualHost 127.0.0.1:80>
  JkMount /* node1
</VirtualHost>

Нам нужно протестировать индикаторы загрузки и асинхронного запроса в корпоративном ajax-приложении.


mod_bw не работает с JkMount.

1 ответ

Насколько я знаю, AJP ни на Apache, ни на стороне Tomcat не регулирует скорость, а вместо этого пытается передать запрос между уровнями настолько быстро, насколько это возможно.

Вот несколько мыслей:

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

Можно ввести больше внутренних хостов и балансировать рабочих между ними, чтобы увеличить пропускную способность.

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

Можно использовать коннектор http вместо AJP, чтобы использовать опцию сжатия и, возможно, увеличить пропускную способность по тем же соединениям.

Можно ввести управление полосой пропускания на уровне сети, чтобы регулировать пропускную способность соединения AJP "извне". В Linux это может быть сделано изначально с использованием директив iptables --limit и --limit-burst. Насколько мне известно, в Windows отсутствует собственное решение для регулирования пропускной способности сети. К счастью, существуют сторонние надстройки, которые обеспечивают детальный контроль пропускной способности, такие как Netlimiter и Netbalancer.

Если смотреть вне операционной системы, можно запускать соединения через ограничитель, например аппаратный балансировщик нагрузки, но тогда зачем вообще использовать AJP?

Критически важно то, что каким бы образом вам ни удавалось выполнить регулирование, вы должны видеть, что как Apache, так и Tomcat способны наращивать очереди / очереди запросов, поскольку можно представить, что количество сеансов увеличивается, если запросы выполняются медленнее.

Наконец, IIS имеет собственное регулирование пропускной способности и может перезаписывать обратный прокси-сервер /URL через модуль ARR на сервер Tomcat. Я не уверен, доступно ли регулирование для подключений ARR:ed, но если вы все равно используете Windows, возможно, стоит взглянуть.

Другие вопросы по тегам