What is the value of connectionTimeout in your Tomcat server.xml? In case it is set to 0 this would
be a reason.
./alex
--
.w( the_mindstorm )p.
#: Pau Garcia i Quiles changed the world a bit at a time by saying on
10/2/2005 4:31 PM :#
Hello,
I am setting up Magnolia 2.1 final in a very high load site (8-10 million
hits/day, with frequent peaks of 1 million pages/hour) and I have found what I
think is a problem with connections/connections pooling. Following is a long
explanation of the problem, in the hope anybody will be able to help me.
In the final setup, I am using a single Tomcat server for Magnolia Public, a
single Tomcat server for Magnolia Author and an Apache 2.0.54 with a customized
mod_cache. Web visitors are only allowed to access the Apache (for load reasons)
but the problem also shows when clients access Tomcat directly, so I am
confident the problem is not in Apache/mod_cache.
So what I have is this:
Web visitor
|
|
Apache with mod_cache
|
|
|
Tomcat (Magnolia Public)
|
|
|
Tomcat (Magnolia Author)
But the problem is also showing with this configuration:
Web visitor
|
|
Tomcat (Magnolia Public)
|
|
|
Tomcat (Magnolia Author)
I am using Apache 2.0.54, Tomcat 5.5.9 with Jasper and Sun's JVM 1.5.0_05 and
Linux (Red Hat Enterprise 3.0U5) in the servers. My JAVA_OPTS are
JAVA_OPTS="-server -verbose:gc -Xloggc:ecran.gc -Xms2500M -Xmx2500m
-XX:+UseParNewGC -XX:+UseConcMarkSweepGC -XX:CMSInitiatingOccupancyFraction=25
-XX:MaxTenuringThreshold=0 -XX:MaxNewSize=512m
-XX:NewSize=512m"
Servers are not yet in production, so I can only talk of what I have seen when
stress-testing the servers. Servers are connected to a 100 Mbps Ethernet
switch. For stress-testing, I am using Siege (http://www.joedog.org/siege/)
sending 2 million hits/hour with 250 concurrent users (that's A LOT more than
what I expect to have). Tomcat configuration is only allowing 150 maxthreads
and we are *not* running out of memory. To state it clearly: everything is
working fine.
Well, actually working fine most of the time. The problem is this: that stress
test exhausts the 100 Mbps network (I am getting a 10.08 MBps throughput), so
lots of connections seem to arrive to a "zombie" state due to lost packets. In
that "zombie" state, the connection is neither usable or free-able, so after
some time (depending on how much memory the server has), memory is exhausted
and everything starts to get slower and slower (and eventually, crash).
I do not know where exactly the problem is (Magnolia, Tomcat, Sun's JVM, Linux),
but I am sure the problem exists. I think the problem falls into Tomcat's
domain, but I am posting this here in case anybody has ever seen this odd
behaviour before.
Thank you.
----------------------------------------------------------------
for list details see
http://www.magnolia.info/en/magnolia/developer.html
----------------------------------------------------------------
----------------------------------------------------------------
for list details see
http://www.magnolia.info/en/magnolia/developer.html
----------------------------------------------------------------