On 08.08.2016 09:14, Jayaram Ponnusamy wrote:
Thanks for your Quick & Valuable Response,
1. ANS-Question 1: No Both Are different Machine, We are using
VirtualHost configuration
That is not consistent with the configuration that you sent. You
have a ServerName (in Apache) named as "ServerName 10.100.0.31"
(which is not a proof, but a suggestion that the IP of this machine
is 10.100.0.31). And you have this line in workers.properties :
worker.prod_live_svr.host=10.100.0.31 which suggest that Tomcat
answers to the same address. So why are you saying "different
machine" ?
2. ANS-Question 2: Kindly please share Optimal Value to Set for
ConnectionTimeout & KeepAliveTimeout if required
One again, there is no "optimal" value for all cases. But the
default values should cover most of the usual cases. The default
values are the ones that are active if you do not specify the
parameter at all. So just remove these parameters, and you should
be ok. If there is a problem such as you mention below, it is NOT
because of the default value of these parameters.
3. ANS-Question 3: Yes We have Firewall, but there is no rules. I
just
googled and updated this value to tuning server. Now I removed
Can you draw a simple schema of your configuration ? (ASCII-art)
Showing clearly : - where is the workstation - where is Apache
httpd - where is the firewall - where is Tomcat
We do not have access to your server, so it is more complicated
for helping you, unless you provide us with precise information.
4. ANS-Question 4: I am new to Apache, While searching in Google,
Based on
some recommandationI tried. I removed all these items.
Good.
Now I am monitoring systems, whether still its closing connections
or not.
sir, While directly using Tomcat URL, pages are loading 1-2
Seconds, but the same page taking 6-7 Seconds in WebServer URL.
Also, If I didn't use WebServer URL for 30minutes and hit any
URL, first time its taking more than 30 Seconds to load a page.
Is there any option to tuning the system.
See item 3 above. Clearly, you have a problem. But without knowing
your exact configuration, we can only guess. Clearly also, it is
not a problem of Tomcat per se. To me, with the little information
available so far, it sounds like it could be a problem with DNS or
routing, but that's just a wild guess so far.
On Mon, Aug 8, 2016 at 12:53 AM, André Warnier (tomcat)
<a...@ice-sa.com> wrote:
On 07.08.2016 11:08, Jayaram Ponnusamy wrote:
Hi,
We are using Tomcat 7.0.42.0, AJP/1.3 with Apache 2.2.21.
Connecting Apache to Tomcat as VirtualHost, The Problem is
Apache and Tomcat losing its connection every 20-30 Minutes.
Either We have to hit the WebServer URL multiple times or
Reboot Apache & Tomcat to resolve the issue for short-time.
Also accessing WebServer URL is very very slow than tomcat
URL (Mostly it takes 30-45seconds to load a Page).
I have added tomcat/Apache configurations below, Kindly
please help me to resolve this issue.
Tomcat (Server.xml): <Connector port="9090"
protocol="HTTP/1.1"
connectionTimeout="600000"
redirectPort="8443" URIEncoding="UTF-8"
emptySessionPath="true"/>
<Connector port="9009" protocol="AJP/1.3" redirectPort="8443"
URIEncoding="UTF-8" connectionTimeout="600000"/> <------
(*)
Apache (Workers.properties): worker.list=prod_live_svr
worker.prod_live_svr.type=ajp13
worker.prod_live_svr.host=10.100.0.31
worker.prod_live_svr.port=9009
worker.prod_live_svr.lbfactor=50
worker.prod_live_svr.socket_keepalive=1
worker.prod_live_svr.connection_pool_size=100
worker.prod_live_svr.connection_pool_minsize=50
worker.prod_live_svr.connection_pool_timeout=500
VirtualHost.conf: <VirtualHost *:80>
ServerName 10.100.0.31
ErrorLog logs/live/http_error.log RewriteLog
logs/live/http_rewrite.log
RewriteEngine on RewriteCond %{REMOTE_ADDR}
!^10\.100\.0\.31$ RewriteRule ^/+$ /sites/ [R,L]
<IfModule rewrite_module> Options +FollowSymlinks
RewriteEngine On
RewriteOptions Inherit RewriteLog logs/rewrite.log
</IfModule> JkMount /* prod_live_svr
JkOptions +ForwardURICompatUnparsed
</VirtualHost>
1) Question : are Apache httpd and Tomcat on the same machine
?
And if yes, why do you not set
worker.prod_live_svr.host=127.0.0.1
2) why : connectionTimeout="600000" (*) That is 5 minutes. By
default, "keepAliveTimeout" is also that same value. It means
that after a request is processed (and finished) on one
instance of a Connector, this Connector will remain "stuck" on
the same connection for another 5 minutes, before it gives up
and closes it. That is kind of wasteful.
3) Why this : worker.prod_live_svr.socket_keepalive=1 Do you
have a firewall between Apache httpd and Tomcat ?
4) Why these ?
worker.prod_live_svr.connection_pool_size=100
worker.prod_live_svr.connection_pool_minsize=50
worker.prod_live_svr.connection_pool_timeout=500
See :
http://tomcat.apache.org/connectors-doc/reference/workers.html
--> connection_pool_size --> connection_pool_minsize -->
connection_pool_timeout (see also (*) above)
In general (and particularly since you do not seem to be an
expert in this kind of configuration), you should not set
parameters when you do not understand exactly what they are
doing. The default configurations of Apache httpd, Tomcat and
AJP are set by experts (who know what they are doing), to
values which fit a wide range of realistic use cases.
I would suggest to rewrite your configuration as follows :
I) Tomcat server.xml :
<Connector port="9009" protocol="AJP/1.3" redirectPort="8443"
URIEncoding="UTF-8">
II) Apache httpd, workers.properties :
worker.list=prod_live_svr
worker.prod_live_svr.type=ajp13
worker.prod_live_svr.host=127.0.0.1
worker.prod_live_svr.port=9009
-----------------
That's it, no other parameters.
The Apache-side mod_jk connector module will by default and
reasonably set the connection pool size, keepalive and timeout
values etc.