Tomcatの簡単なチューニング
Tomcatはデフォルト設定のままだと不要な機能が多く起動されています。
高機能なサーバ機で動作させていれば気になりませんが、社内で古くなったPC等の低スペックなPCで動作させている場合、不要な機能を停止することでレスポンスが多少改善されます。
最小限の設定でTomcatを起動させる設定をご紹介いたします。
前提条件
このページの解説は以下の条件を満たしていることを前提としています。あらかじめご了承ください。
GroupSessionがインストール済み。
Apache HttpサーバとTomcatを連携した環境で使用していること。
ご注意ください
Tomcatを停止した上で作業してください。
データのバックアップは必ず取った上で作業してください。
下記の内容はTomcatのインストール先を${TOMCAT_HOME}として記述しています。
Tomcatのサンプルアプリケーションを削除
Tomcatのサンプルアプリケーションは使用しないので削除します。
${TOMCAT_HOME}/webapps/内にあるフォルダをgsessionフォルダを除いて全て削除します。
Tomcatの不要な機能を起動しない様に設定
HTTPサーバ機能等の使用しない機能は全て削除し、最小限の構成で起動する様に設定します。
またTomcatとApacheのコネクタが常にプールされている状態にします。
${TOMCAT_HOME}/conf/server.xml
<Server port="8005" shutdown="SHUTDOWN">
<Service name="Catalina">
<Connector port="8009" maxHttpHeaderSize="8192"
maxThreads="150" minSpareThreads="25" maxSpareThreads="75"
acceptCount="100"
enableLookups="false" redirectPort="8443" protocol="AJP/1.3" />
<Engine name="Catalina" defaultHost="localhost">
<Host name="localhost" appBase="webapps"
unpackWARs="false" autoDeploy="false"
xmlValidation="false" xmlNamespaceAware="false">
</Host>
</Engine>
</Service>
</Server>
Tomcatに割り当てるメモリを増やす
Tomcatに割り当てるメモリの設定を環境変数に設定し増やします。
ここではメモリ最大使用量とメモリ初期使用量を設定します。
設定する値は下記を目安にしてください。
・メモリ最大使用量(-Xmx)搭載メモリの半分程度。
・メモリ初期使用量(-Xms)Xmxで指定した数値の半分位。
例として搭載メモリが2GB(2048MB)の場合は「-Xmx1024M -Xms512M」になります。
Tomcatを起動するユーザの環境変数に下記を追加します。
・変数名: CATALINA_OPTS
・変数値: -Xmx1024M -Xms512M
Windowsの場合
コントロールパネル→システム→「詳細設定」タブ→環境変数 で設定してください。
Linuxの場合
export CATALINA_OPTS='-Xmx1024M -Xms512M'
Monitor Tomcat を使用してTomcatを起動している方は、以下のように設定してください。
・Initial memory pool(メモリ初期使用量): 512
・Maximum memory pool(メモリ最大使用量): 1024
終わりに
本ドキュメントはTomcatに焦点を当たものですが、OSの設定を見直すことでもまた改善が期待されます。
例えばUnix系のOSを使用している場合は、ランレベルや起動するデーモンを見直すことや、IPV6を使っていない場合は設定をOFFにする等です。
最近のubuntuやfedora等のkernel2.6のディストリビューションではIPV6がデフォルトで有効になっています。
使わないのであればOFFにすることをお勧めします。