[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[upki-fed:190] IdPのエラーにつきまして



学術認証フェデレーション情報交換メーリングリストのみなさま

お世話になります。
金沢大学総合メディア基盤センター 松平です。

現在、金沢大学では、フェデレーションにおけるIdPの運用を
terracottaでクラスタリングしております。

IdPサーバのOSはrhel5.4です。
-------
[root@idp01 conf]# cat /etc/redhat-release
Red Hat Enterprise Linux Server release 5.4 (Tikanga)

IdPはApache(httpd)のproxy_ajpを使用して動作させています。
-------
[root@idp02 program]# cat /etc/httpd/conf.d/proxy_ajp.conf
LoadModule proxy_ajp_module modules/mod_proxy_ajp.so
ProxyPass /idp/ ajp://localhost:8009/idp/

しかし、運用を続けていると、以下のようなCLOSE_WAITのセッションが
増えてきて、最終的に、Tomcatのスレッド数(maxThreads)を超えると
IdPエラーとなって認証ができなくなります。
-------
[root@idp02 program]# netstat -an|grep 8009
tcp      610      0 ::ffff:127.0.0.1:8009       ::ffff:127.0.0.1:60182
    CLOSE_WAIT
tcp        1      0 ::ffff:127.0.0.1:8009       ::ffff:127.0.0.1:44054
    CLOSE_WAIT
tcp        1      0 ::ffff:127.0.0.1:8009       ::ffff:127.0.0.1:44052
    CLOSE_WAIT
tcp     1382      0 ::ffff:127.0.0.1:8009       ::ffff:127.0.0.1:44048
    CLOSE_WAIT
-------

サーバの各設定は以下の通りです。

-------
/usr/java/tomcat/conf/server.xmlの一部

    <!-- Define an AJP 1.3 Connector on port 8009 -->
    <Connector port="8009" protocol="AJP/1.3" redirectPort="8443"
enableLookups="false"
                maxThreads="1000" minSpareThreads="100"
maxSpareThreads="250"
                connectionTimeout="60000" keepAliveTimeout="15000"
                request.tomcatAuthentication="false" address="127.0.0.1"/>
-------

[root@idp02 program]# httpd -V
Server version: Apache/2.2.3
Server built:   Nov 10 2009 09:06:10
Server's Module Magic Number: 20051115:3
Server loaded:  APR 1.2.7, APR-Util 1.2.7
Compiled using: APR 1.2.7, APR-Util 1.2.7
Architecture:   64-bit
Server MPM:     Prefork
  threaded:     no
    forked:     yes (variable process count)
Server compiled with....
 -D APACHE_MPM_DIR="server/mpm/prefork"
 -D APR_HAS_SENDFILE
 -D APR_HAS_MMAP
 -D APR_HAVE_IPV6 (IPv4-mapped addresses enabled)
 -D APR_USE_SYSVSEM_SERIALIZE
 -D APR_USE_PTHREAD_SERIALIZE
 -D SINGLE_LISTEN_UNSERIALIZED_ACCEPT
 -D APR_HAS_OTHER_CHILD
 -D AP_HAVE_RELIABLE_PIPED_LOGS
 -D DYNAMIC_MODULE_LIMIT=128
 -D HTTPD_ROOT="/etc/httpd"
 -D SUEXEC_BIN="/usr/sbin/suexec"
 -D DEFAULT_PIDLOG="logs/httpd.pid"
 -D DEFAULT_SCOREBOARD="logs/apache_runtime_status"
 -D DEFAULT_LOCKFILE="logs/accept.lock"
 -D DEFAULT_ERRORLOG="logs/error_log"
 -D AP_TYPES_CONFIG_FILE="conf/mime.types"
 -D SERVER_CONFIG_FILE="conf/httpd.conf"

-------
/etc/httpd/conf/httpd.conf の一部

Timeout 60

KeepAlive Off

MaxKeepAliveRequests 100

KeepAliveTimeout 15

# prefork MPM
<IfModule prefork.c>
StartServers       8
MinSpareServers    5
MaxSpareServers   20
ServerLimit      128
MaxClients       128
MaxRequestsPerChild  4000
</IfModule>

# worker MPM
<IfModule worker.c>
StartServers         2
MaxClients         200
MinSpareThreads     75
MaxSpareThreads    150
ThreadsPerChild     75
MaxRequestsPerChild  0
</IfModule>

このように設定していますが、どうもapacheとtomcat間で
うまく連携ができていないのではと思っています。

apache+tomcat(+terracotta)の運用で上記の問題した場合の
対処法がございましたらご教授いただけましたら幸いです。

ご多忙のところ、大変申し訳ございませんが、
よろしくお願いいたします。

-- 
+---------------------------------------+
松平 拓也(Takuya MATSUHIRA)
情報部情報企画課教育研究システム係
(総合メディア基盤センター)
Tel:076-234-6926
Fax:076-234-6918
E-mail:xxxxxxx@xxxxxxxxxxxxxxxxxxxxxxxx
+---------------------------------------+