Title: thread-pool configuration in Resin 3.0.19

We have recently seen some instances where Resin 3.0.19 running with mod_caucho seems to stop answering requests. It's still running, because I've turned on debug logging, and when this happens it continues to write entries about cleaning up the expired sessions, but no new requests get fulfilled. Stopping and restarting resin clears up the issue.

Our suspicion is that resin may be running out of threads, so I've been trying to increase the threads by adding a directive to the configuration file

>>
<thread-pool>
   <thread-max>300</thread-max>
   <spare-thread-min>10</spare-thread-min>
</thread-pool>
<<

The documentation suggests in places that this should be a child of <resin> and in other places it seems to be listed as a child of <server> - which is correct? I have tried to add it at both levels, and I get a strange error when starting up resin which says that the web-app root directory is the same as resin.home. The relevant lines from the log follow. This error does not appear when I remove the <thread-pool> entries.

>>
[2006/11/08 16:08:48.032] web-app root directory should not be the same as resin.home
[2006/11/08 16:08:48.032] /export/home/mltv/resin
[2006/11/08 16:08:48.118] WebApp[] starting
[2006/11/08 16:08:49.655] Resin restarting due to configuration change
[2006/11/08 16:08:49.655] Server[f] stopping
[2006/11/08 16:08:49.710] Received close event
[2006/11/08 16:17:28.938] Server[f] starting
[2006/11/08 16:17:28.940]
[2006/11/08 16:17:28.943] SunOS 5.10 sparc
[2006/11/08 16:17:28.945] Java 1.5.0_06-b05, 32, mixed mode, ISO646-US, en, Sun Microsystems Inc.
[2006/11/08 16:17:28.948] resin.home = /export/home/mltv/resin
[2006/11/08 16:17:28.950] server.root = /export/home/mltv/resin
<<

Here is our resin configuration file for reference. Ideas or comments are appreciated.

>>
<resin xmlns="http://caucho.com/ns/resin"
       xmlns:resin="http://caucho.com/ns/resin/core">

  <javac compiler='/usr/java/bin/javac'/>

  <stderr-log path="log/wad-stderr.log"
              timestamp="[%m/%d/%y %H:%M:%S.%s] "
              rollover-period="1D" rollover-count="7"/>
  <stdout-log path="log/wad-stdout.log"
              timestamp="[%m/%d/%y %H:%M:%S.%s] "
              rollover-period="1D" rollover-count="7"/>

  <log path="stdout:">
       <logger name="com.caucho.server.cluster.JdbcStore"/>
       <logger name="" level="info"/>
       <logger name="com.caucho.java" level="config"/>
       <logger name="com.caucho.loader" level="config"/>
  </log>

  <log name="" level="finer" path='log/wad-debug.log'
       timestamp="[%Y/%m/%d %H:%M:%S.%s] "
                 rollover-period='1h' rollover-count='4'/>

  <log path="log/wad-http.log"
       timestamp="[%Y/%m/%d %H:%M:%S.%s] "
       rollover-period='1h' rollover-count='2'>
       <logger name="com.caucho.server.http" level="finer"/>
       <logger name="com.caucho.server.connection" level="finer"/>
  </log>

  <server>

    <database>
      <jndi-name>jdbc/mysql</jndi-name>
      <driver type="org.gjt.mm.mysql.Driver">
        <url>jdbc:mysql://10.10.240.20:3306,10.10.240.21:3306/wad_session?autoReconnect=true&amp;failOverReadOnly=false</url>

        <user>mltv</user>
        <password>resin</password>
      </driver>
      <prepared-statement-cache-size>8</prepared-statement-cache-size>
      <max-connections>1000</max-connections>
      <max-idle-time>60s</max-idle-time>
    </database>

    <cluster>
      <srun server-id='a' host='10.10.240.20' port='6804' index='1'/>
      <srun server-id='b' host='10.10.240.21' port='6804' index='2'/>
      <srun server-id='c' host='10.10.240.22' port='6804' index='3'/>
      <srun server-id='d' host='10.10.240.24' port='6804' index='4'/>
      <srun server-id='e' host='10.10.240.25' port='6804' index='5'/>
      <srun server-id='f' host='10.10.190.11' port='6804' index='6'/>
      <srun server-id='g' host='10.10.190.10' port='6804' index='7'/>
    </cluster>

    <persistent-store type="jdbc">
      <init>
        <data-source>jdbc/mysql</data-source>
      </init>
    </persistent-store>

    <resin:import path="${resinHome}/conf/app-default.xml"/>

    <host id=''>
      <web-app id='/' document-directory='/export/home/mltv/www/wad'>

        <session-config enable-url-rewriting='false'>
          <use-persistent-store/>
          <always-save-session/>
        </session-config>

        <listener>
          <listener-class>com.caucho.jsp.JspPrecompileListener</listener-class>
          <init>
            <extension>jsp</extension>
            <extension>jspx</extension>
            <extension>xtp</extension>
          </init>
        </listener>
      </web-app>
    </host>

  </server>

</resin>
<<

Michael Ebeling
Systems Administrator
MLT Vacations, Inc.

_______________________________________________
resin-interest mailing list
resin-interest@caucho.com
http://maillist.caucho.com/mailman/listinfo/resin-interest

Reply via email to