JVM パラメータチューニング

tomcat_jvm-day.png

Munin を導入し、tomcat_jvm プラグインの結果を見たところ、チューニングの必要性を認め、パラメータを調整して様子を見ています。メモリ 2GB の環境で、DB アクセスが頻繁にあるアプリケーションです。iBATIS による ORM と Cache を利用しています。

a の設定


JAVA_OPTS="-server -Xms384m -Xmx768m"

b の設定


JAVA_OPTS="-server -Xms512m -Xmx512m -XX:PermSize=128m -XX:MaxPermSize=128m

  • XX:SurvivorRatio=8"

アプリケーションの種類により、リソースの利用特性が異なるので、OS, DB, httpd とのコネクタ、DB とのコネクタなど、数箇所を根気強く調整していくことになりますが、視覚化できるツールは積極的に使いたいところです。

Munin は、Tomcat の状態を /manager/status?XML=true の情報を使って取得しています。JK コネクタの accesses/s, busy threads, idle threads, 送出 bytes/s が取得できるスクリプト (plugin) が用意されています。

森田