Соединители HTTP v / s AJP в Tomcat (с точки зрения производительности) - Tomcat версия 9.x - PullRequest
0 голосов
/ 25 октября 2019

Сценарий: у меня есть одно Java-приложение с сервлетом загрузки файлов. Это приложение, размещенное в tomcat 9.0.13, настроено за Apache 2.4 с разъемом AJP.

В случае загрузки больших файлов, я вижу, скорость медленная. Поэтому я проверил в случае соединителя Tomcat.

  1. В соединителе AJP загрузка файла 100 МБ занимает в среднем 12-16 секунд
  2. В коннекторе HTTP 100 МБ загрузка файла занимает в среднем 4-7 секунд

Для строк ниже AJP я добавил в файл конфигурации Apache

<location /filescrum1>
    AddOutputFilterByType DEFLATE text/html text/javascript text/css text/xml application/javascript
    ProxyPass balancer://filescrum1Cluster/filescrum1 timeout=120 stickysession=JSESSIONID|jsessionid nofailover=Off
</location>

<Proxy balancer://filescrum1Cluster>
    BalancerMember ajp://app11aind2:10003/ route=app11a003 timeout=300 ping=1 retry=120 
    BalancerMember ajp://app11bind2:10003/ route=app11b003 timeout=300 ping=1 retry=120 
</Proxy>

А для HTTP-коннектора ниже строки, которые я добавил в конфигурационный файл Apache

<location /filescrum1>
    AddOutputFilterByType DEFLATE text/html text/javascript text/css text/xml application/javascript
    ProxyPass balancer://filescrum1Cluster/filescrum1 timeout=120 stickysession=JSESSIONID|jsessionid nofailover=Off
</location>

<Proxy balancer://filescrum1Cluster>
    BalancerMember http://app11aind2:9003/ route=app11a003 timeout=300 ping=1 retry=120 
    BalancerMember http://app11bind2:9003/ route=app11b003 timeout=300 ping=1 retry=120 
</Proxy>

Нет изменений на стороне кода, и просто замена коннектора приводит к улучшению более чем на 90%. Я хочу знать больше, что мы можем попробовать в производстве или нет? Также HTTP-коннектор лучше, чем AJP или нет?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...