PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Tomcat4 alleine laufen lassen?



Flightbase
18.12.03, 22:26
Hallo!

Ich hab bisher ne kombination(sagen wir gewurschtel) aus: apache, connector, java, tomcat und mysql laufen. den apache hab ich jedoch nur benutzt, um eine simple GET anfrage zu schlucken.
jetzt hab ich mir überlegt, dass ich eigentlich tomcat4 als standalone laufen lassen könnte.
grund der überlegungen:
ohne das es mir möglich war irgendeinen grund oder ein system zu erkennen, steigt irgendwann die prozessorlast auf 100% - verursacht durch java. das nervt schon gewaltig. in den logs gibt es selbst mit fiesen tips nix zu finden.

vorteil: weniger anwendungen, gleiches ergenbis.
nachteil: sicherheit?

es gibt ja z.b. wesentlich mehr apache exploits als die paar wenigen für tomcat... was ist euer tipp?
kann man einen tomcat4 ohne magenschmerzen alleine laufen lassen?

thx, Nik

Jasper
18.12.03, 23:22
Original geschrieben von Flightbase

es gibt ja z.b. wesentlich mehr apache exploits als die paar wenigen für tomcat... was ist euer tipp?
kann man einen tomcat4 ohne magenschmerzen alleine laufen lassen?


mach ich persönlich nicht. das verhalten von java unter last ist, nun sagen wir mal "unpredictable" :) ich schalte immer einen apache vor, damit ich die clientconnections sicher begrenzen kann um den/die tomcat(s) nicht zu überlasten. ausserdem lasse ich den apache den ganzen ssl-kram, das logging und content-encoding (komprimierung) erledigen. loadbalancing oder failover ist mit einem vorgeschalteten apache viel einfacher. und last but not least will ich port 80 bzw 443 verwenden (ok, portumleitung würde auch gehen :)

aus sicherheitstechnischer sicht ist ein reiner tomcat sicherer.


-j

Jasper
18.12.03, 23:28
Original geschrieben von Flightbase
ohne das es mir möglich war irgendeinen grund oder ein system zu erkennen, steigt irgendwann die prozessorlast auf 100% - verursacht durch java. das nervt schon gewaltig. in den logs gibt es selbst mit fiesen tips nix zu finden.


riecht gewaltig nach GC. falls sun verwendet wird, starte die JVM mal mit -Xloggc:<file>. hier gibts noch ein paar tips zum tunen:

http://java.sun.com/docs/hotspot/gc/


generell sollte der GC häufig laufen, aber immer nur wenige objekte löschen (viele kurze pausen).
schlechtes verhalten (wie in deinem fall) tritt auf, wenn der GC selten läuft, dann aber tonnen von objekten löschen muss (wenige lange pausen).


-j