2008年10月14日

[Apache-Users 7163]Apache-Tomcat 間のコネクションについて

** Apache ユーザーズメーリングリスト **
** 注意:このメールへの返信は Apache-Users へ行きます **

お世話になります。横溝と申します。

ご存知の方がいらっしゃいましたらご教授お願いします。
WEBサーバにApache、APサーバにTomcat、連携用コネクタとしてmod_jkがインストー
ルされている環境でシステムが構築されています。この環境においてApache-Tomcat

間のコネクションが消えない事象が発生しております。

環境は以下のようになっています。
-------------------------------------------
Apache:2.0.59
Tomcat:5.0.28
mod_jk:1.2.15

WEBサーバ(3台)
CPU:2.33GHz
メモリ:2.0GB
HDD:36GB
OS名 Red Hat Enterprise Linux ES release 4


APサーバ
CPU:1.6GHz
メモリ:2.0GB
HDD:36GB
OS名 Red Hat Enterprise Linux ES release 4
-------------------------------------------

WEBサーバは3台でロードバランシングされており、均等にアクセスを振り分けてAP
サーバへ処理を送信しており、
Apache-Tomcat間の通信は8009ポートでAJP1.3プロトコルを使用しております。

Tomcatの設定ファイルserver.xmlの該当する箇所は以下の設定になっています。

<Connector port="8009"
useBodyEncodingForURI="true" maxThreads="512" minSpareThreads="50"
maxSpareThreads="100" acceptCount="100" enableLookups="false"
redirectPort="8443" debug="0" connectionTimeout="60000"
protocol="AJP/1.3" />

またApacheの設定ファイルhttpd.confの設定は以下のようになっており、この設定
がWEBサーバ3台で統一されています。
MaxClients数が150×3=450で、Tomcat側のmaxThreads="512"より小さい数値が設定さ
れています。

KeepAlive On
MaxKeepAliveRequests 100
KeepAliveTimeout 15

<IfModule prefork.c>
StartServers 5
MinSpareServers 5
MaxSpareServers 10
MaxClients 150
MaxRequestsPerChild 100
</IfModule>


このような環境で、サーバへのアクセス集中などにより負荷がかかった状況におい
て、ApacheとTomcat間でコネクションがMAX値の450件をフルに使いきり、さらに負
荷がなくなった状況になって1時間以上経過しているにもかかわらずコネクションが
消えない状態が長時間続く現象が発生しております。

APサーバにおいてnetstatコマンドでコネクションの状況を確認したところWEBサー
バとの通信でESTABLISHED(接続中)の状態のものが450件ほど出力され続けており
ました。

そのため、Apacheの再起動を行いコネクションを開放させたのですが、システムの
運営上Apacheの再起動は行いたくはありません。
Apache再起動以外にこの現象を解決する設定や方法をご存知の方がいらっしゃいま
したらご教授お願いいたします。
--
入退会・変更・配送一時停止は以下へ
http://mm.apache.jp/mailman/listinfo/apache-users


投稿者 xml-rpc : 2008年10月14日 18:37
役に立ちました?:
過去のフィードバック 平均:(0) 総合:(0) 投票回数:(0)
本記事へのTrackback: http://hoop.euqset.org/blog/mt-tb2006.cgi/78026
トラックバック
コメント
コメントする




画像の中に見える文字を入力してください。