#norelated #contents * はじめに [#n60ff2ad] 最近、CPUのチップ内に処理ユニット(コア)を複数搭載したタイプも普及してきました。これにより、コア数の数以内であれば、複数のプロセスをスピードを落とす事なく処理する事が可能になりました。 一方、Tomcatでは、mod_jkと連動させて複数のサーバーにプロセスを分散する事は以前から可能でした。ここでは、1つのサーバーで複数のTomcatプロセスを立ち上げる事により、マルチコアのCPUの能力を十分に発揮させる方法について説明します。 ** 本ページの内容について [#o958e9e3] 本ページでは、設定する際に落とし穴になりそうな点、他のHPでの解説で勘違いした点を中心にまとめます。具体的な設定方法は参照先のページを確認してください。 ** 環境 [#xd349109] 以下のような環境での適用例です。Linux環境でも同様の設定による動作すると思います。 - Windows XP - Tomcat 5.5((Tomcat 6では2プロセスで動作する設定が存在するようです)) - Apache 2 - mod_jk2((mod_jk2はすでに開発がストップされ、mod_jkにマージされたようです。本構成は特殊と言えるかもしれません。mod_jkを使ったApacheとTomcatの連携は別にまとめたいと思います。)) 以下の記述は、上記環境が整っている状態で、tomcatプロセスを2個走らせる手順です。 特に、httpd.confの最後に以下の1行が追記されているか確認してください。 LoadModule jk2_module modules/mod_jk2.so * 設定の手順 [#k1b6826a] +server.xmlの編集 +workers2.propertyの編集 +web.xmlの編集 +2つのプロセスでtomcatを起動 ** server.xmlの編集 [#mfa6cdf3] apache2とtomcatを連携させる構成では、tomcatの待ち受けポートは8009なので、 必要な<Connector>要素は以下の部分だけです。 <!-- Define an AJP 1.3 Connector on port 8009 --> <Connector port="8009" enableLookups="false" redirectPort="8443" protocol="AJP/1.3" /> これ以外のポートは関係ないので、不要なら削除するか、コメントアウトしておきます。 ** server.xmlの編集その2 [#d4c5bc38] 次に、クラスタリングを有効にするため、<Cluster>タグを有効にします。 <!-- <=ここを削除 <Cluster className="org.apache.catalina.cluster.tcp.SimpleTcpCluster" ・・・・ </Cluster> --> <=ここを削除 **server.xmlの編集その3 [#z5142dde] セッション管理を有効にするため、EngineタグにjvmRouteを追記します。 <Engine name="Catalina" defaultHost="localhost" jvmRoute="jvm1"> jvmRouteに設定した名称はworkers2.propertyに使います。 **server.xmlの複製 [#sd60b16c] 2つ目のプロセス用のserver.xmlとして、server2.xmlを作成します。 まずは、server.xmlのファイルをコピーし、名前をserver2.xmlとします。 **server2.xmlの編集 [#z68c61e7] 2つのプロセスで同じ設定だと動かない項目のみ、server2.xmlで編集します。 -Connectorのポートを8009から18009にする。 -ServiceのnameをCatalinaからCatalina2にする。 -EngineのnameをCatalinaからCatalina2にする。 -EngineのjvmRouteをjvm1からjvm2にする。 -ClusterのReceiverのtcplistenPortを4001から14001にする。 **workers2.propertyの編集 [#qc8d8d58] workers2.propertyを開き以下のように追記します。 [channel.socket:localhost:8009] tomcatId=jvm1 <=これを追記 [channel.socket:localhost:18009] <=これを追記 tomcatId=jvm2 <=これを追記 **web.xmlの編集 [#q2500672] 公開するサーブレットのWEB-INF内のweb.xmlを開きます。 最終行から2行目に、distributableを追記します。 <distributable/> <=これを追記 </web-app> **2つのTomcatプロセスの起動 [#o272092a] コマンドプロンプトから、tomcat起動コマンドをたたきます。 このとき、2つめの起動オプションは、-config conf¥server2.xmlとします。 startup.bat <=1つめのプロセスを起動 startup.bat -config conf¥server2.xml <=2つめのプロセスを起動 -configオプションで指定するserver.xmlの場所は、tomcatがインストールされているフォルダからの相対パスです。 * 参考 [#ga247dc7] +[[Tomcat5めも>http://muimi.com/j/jakarta/tomcat5/]] +[[@IT>http://www.atmarkit.co.jp/fjava/rensai2/jspservlet03/jspsevlet03_5.html]] +[[http://tomcat.apache.org/>http://tomcat.apache.org/]] *コメント欄 [#c15966f2] #comment #pcomment_nospam(,10,avobe)