Les paramètres de démarrage appropriés de Tomcat 5.5 pour régler la JVM pour une application web de grande taille et à très forte demande?

Nous avez récemment migré à un grand, haut de la demande d'applications web Tomcat 5.5 de Tomcat 4 et ont remarqué que certains particulière ralentissement de comportement qui semble être liée à la JVM des pauses. Afin d'exécuter notre application et de soutenir l'augmentation de la charge au fil du temps sur Tomcat 4, nombre de pas si standard JVM paramètres ont été fixés et à l'écoute que par le bas, et je suis en espérant que quelqu'un avec Tomcat JVM expérience de réglage peuvent faire des commentaires sur tout ce qui serait susceptible de porter préjudice à un Tomcat 5.5 installer. Notez également que certains de ces pourrait être reporté à partir de versions précédentes de Java (nous avons été en cours d'exécution de Tomcat 4 sur la version 1.6 de Java avec ces paramètres avec succès depuis un certain temps, mais certaines peuvent avoir été introduites pour aider à la collecte des ordures sur Java 1.4 qui a été la base de notre Tomcat 4 installer pour une longue période de temps, et peut maintenant faire plus de mal que de bien).

Quelques remarques:

  • La mémoire de l'Application de l'empreinte est
    autour de 1 GO, probablement un peu plus.
  • Le CPU n'est pas un problème - toutes les machines
    servir de l'application (équilibrage de charge) sont
    < 30% de CPU
  • Beaucoup d'espace libre sur la mémoire physique de la machine.
  • -XX:MaxPermSize=512m était le seul paramètre ajouté dans le cadre de l'5.5 mise à niveau et a été réactif à un dépassement de mémoire permgen space (qui il résolu).
  • En cours d'exécution sur la version 1.6 de Java, Solaris OS

-serveur -Xms1280m -Xmx1280m -XX:MaxPermSize=512m -XX:ParallelGCThreads=20 -XX:+UseConcMarkSweepGC -XX:+UseParNewGC -XX:SurvivorRatio=8 -XX:TargetSurvivorRatio=75 -XX:MaxTenuringThreshold=0 -XX:+AggressiveOpts -XX:+PrintGCDetails -XX:+PrintGCTimeStamps -XX:-TraceClassUnloading -Dsun.io.useCanonCaches=false -Dsun.net.client.defaultConnectTimeout=60000 -Dsun.net.client.defaultReadTimeout=60000

source d'informationauteur Peter