Hallo iedereen,
Ik heb een probleem met een 2-tal webservers waar apache op draait in combinatie met Tomcat:
Configuratie:
OS: Win2k SP4
Apache: 2.0.49/mod_jk2/2.0.4 (meerdere virtual hosts)
Tomcat: 4.1.30
JDK: 1.4.2_04
Er draaien 2 Tomcat instances op die aan loadbalancing doen: Dat staat als volgt ingesteld via de worker2.properties file:
[shm]
file=c:/HTTPServers/Tomcat_4.1/logs/shm.file
size=1048576
[lb:balancer]
recovery=30
timeout=5000
#Define the channel sockets
[channel.socket:localhost:11009]
port=11009
host=localhost
timeout=20000
tomcatId=lefthand1
lb_factor=1
[channel.socket:localhost:12009]
port=12009
host=localhost
timeout=20000
tomcatId=lefthand2
lb_factor=1
# define the workers
[status:status]
[ajp13:localhost:11009]
channel=channel.socket:localhost:11009
route=lefthand
group=balancer
[ajp13:localhost:12009]
channel=channel.socket:localhost:12009
route=lefthand2
group=balancer
# Uri mapping
[uri:/*.jsp]
group=balancer
[uri:/jkstatus/*]
worker=status:status
De JVM waar de Tomcat instances in draaien hebben de volgende memory instellingen:
-Xms1024M
-Xss128k
-Xmx1024
Deze waarden zijn dermate hoog omdat er in het verleden outofmemory errors verschenen in de tomcat logs waarna Tomcat down ging (stopte met afhandelen van JSP pagina's)
Op het moment dat Apache begint te spoken neemt het CPU gebruik toe tot 99% en stopt hij daadwerkelijk met loggen van info in het errorlog. Tomcat die gaat op dat moment over tot de volgende foutmelding:
Compile failed; see the compiler error output for details.
at org.apache.tools.ant.taskdefs.Javac.compile(Javac.java:842)
at org.apache.tools.ant.taskdefs.Javac.execute(Javac.java:682)
at org.apache.jasper.compiler.Compiler.generateClass(Compiler.java:317)
at org.apache.jasper.compiler.Compiler.compile(Compiler.java:370)
at org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:473)
at org.apache.jasper.compiler.JspRuntimeContext.checkCompile(JspRuntimeContext.java:314)
at org.apache.jasper.compiler.JspRuntimeContext.run(JspRuntimeContext.java:528)
at java.lang.Thread.run(Thread.java:534)
Ik heb op een bepaald moment een van de webservers gebruikt om met Jmeter de load na te bootsen m.b.v. de Tomcat acces logs. Hier heeft hij geen problemen met maar op het moment dat er weer "live" load op komt gaat het na ongeveer 24 weer mis.
Heeft iemand dit eerder gezien of ooit wat over gelezen. Ik heb op dit moment nog niets kunnen vinden met Google wat een oplossing bood.
Ik heb een probleem met een 2-tal webservers waar apache op draait in combinatie met Tomcat:
Configuratie:
OS: Win2k SP4
Apache: 2.0.49/mod_jk2/2.0.4 (meerdere virtual hosts)
Tomcat: 4.1.30
JDK: 1.4.2_04
Er draaien 2 Tomcat instances op die aan loadbalancing doen: Dat staat als volgt ingesteld via de worker2.properties file:
[shm]
file=c:/HTTPServers/Tomcat_4.1/logs/shm.file
size=1048576
[lb:balancer]
recovery=30
timeout=5000
#Define the channel sockets
[channel.socket:localhost:11009]
port=11009
host=localhost
timeout=20000
tomcatId=lefthand1
lb_factor=1
[channel.socket:localhost:12009]
port=12009
host=localhost
timeout=20000
tomcatId=lefthand2
lb_factor=1
# define the workers
[status:status]
[ajp13:localhost:11009]
channel=channel.socket:localhost:11009
route=lefthand
group=balancer
[ajp13:localhost:12009]
channel=channel.socket:localhost:12009
route=lefthand2
group=balancer
# Uri mapping
[uri:/*.jsp]
group=balancer
[uri:/jkstatus/*]
worker=status:status
De JVM waar de Tomcat instances in draaien hebben de volgende memory instellingen:
-Xms1024M
-Xss128k
-Xmx1024
Deze waarden zijn dermate hoog omdat er in het verleden outofmemory errors verschenen in de tomcat logs waarna Tomcat down ging (stopte met afhandelen van JSP pagina's)
Op het moment dat Apache begint te spoken neemt het CPU gebruik toe tot 99% en stopt hij daadwerkelijk met loggen van info in het errorlog. Tomcat die gaat op dat moment over tot de volgende foutmelding:
Compile failed; see the compiler error output for details.
at org.apache.tools.ant.taskdefs.Javac.compile(Javac.java:842)
at org.apache.tools.ant.taskdefs.Javac.execute(Javac.java:682)
at org.apache.jasper.compiler.Compiler.generateClass(Compiler.java:317)
at org.apache.jasper.compiler.Compiler.compile(Compiler.java:370)
at org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:473)
at org.apache.jasper.compiler.JspRuntimeContext.checkCompile(JspRuntimeContext.java:314)
at org.apache.jasper.compiler.JspRuntimeContext.run(JspRuntimeContext.java:528)
at java.lang.Thread.run(Thread.java:534)
Ik heb op een bepaald moment een van de webservers gebruikt om met Jmeter de load na te bootsen m.b.v. de Tomcat acces logs. Hier heeft hij geen problemen met maar op het moment dat er weer "live" load op komt gaat het na ongeveer 24 weer mis.
Heeft iemand dit eerder gezien of ooit wat over gelezen. Ik heb op dit moment nog niets kunnen vinden met Google wat een oplossing bood.