Eu tenho um tomcat v6 que contém dois aplicativos da web (JSF2.0 e JSP). O servidor físico é RedHat Enterprise com 16GB de memória.
Na forma atual, o tomcat é exposto à internet via apache 2.2 e estamos usando o conector mod_jk v1.28. assim, na essência, quando um usuário digita www1.example.com/myWebApp
, em que webApp
foi configurado em httpd.conf
como worker1, o que, por sua vez, aponta para o tomcat acima mencionado acima v6 na porta 8009 para manipular a solicitação.
Tomcat server.xml
tem os seguintes bits relevantes:
<Connector port="8080"
protocol="HTTP/1.1"
maxThreads="150"
connectionTimeout="20000"
redirectPort="8443"
/>
<Connector port="8009" protocol="AJP/1.3" redirectPort="8443" />
em workers.properties worker1
foi configurado como:
worker.worker1.type = ajp13
worker.worker1.host =localhost
worker.worker1.port = 8009
e no httpd.conf:
JkMount /myWebApp/* worker1
Ao testar as velocidades de carregamento da página, quando acessei o aplicativo da web acessando o tomcat acima diretamente usando seu endereço de host local (localhost: 8080 / myWebApp), o aplicativo da web é rápido e as médias são de aproximadamente 2-3 segundos.
Agora, se eu acessar o mesmo aplicativo da Web, na mesma rede, exceto no apache (www1.example.com/myWebApp), a página ficará visivelmente mais lenta e a velocidade de carregamento da página ficará entre 10 e 12 segundos.
isso é normal? Eu estou suspeitando que o trabalho de perna que acontece entre apache ---> mod_jk --> tomcat v6
para lidar com qualquer solicitação é somar as velocidades lentas? Alguém pode sugerir maneiras pelas quais eu posso melhorar a capacidade de resposta dos aplicativos da Web quando os pedidos são provenientes do apache?
ATUALIZAÇÃO:
Os atrasos de pesquisa de DNS estão fora de questão, dado em www1.example.com, que é mapeado para o nosso endereço IP local, pelo que definitivamente não há atrasos de pesquisa no DNS que contribuam para este atraso.