Mantis Bugtracker
  

Viewing Issue Advanced Details Jump to Notes ] View Simple ] Issue History ] Print ]
ID Category Severity Reproducibility Date Submitted Last Update
0000213 [Resin] minor always 05-24-05 00:00 11-30-05 14:43
Reporter user200 View Status public  
Assigned To
Priority immediate Resolution fixed Platform
Status closed   OS
Projection none   OS Version
ETA none Fixed in Version 3.0.14 Product Version 3.0.13
  Product Build 3.0.13
Summary 0000213: unloaded system has occaisional hiccups and failed incoming connections
Description RSN-236
test
Steps To Reproduce
Additional Information See description
Attached Files

- Relationships

- Notes
(0000246)
user200
05-24-05 00:00

Hi,

we are running Resin Pro 3.0.13 on one of our production systems and although the system is not loaded we have occaisional "hiccups" and see some failed incoming connections. One thing we noticed is that mod_caucho doesn't seem to use keep-alive connection when connecting to servlet engine (both run on the same box): at any point in time there are around 30k connections for port 6802 but only a very small number in ESTABLISHED status.
We would like to use keep-alive connections between mod_caucho and Resin, please advise how to achieve this. We have tried different configuration but not succeeded in getting this to work.

Please find below information on the Java, Resin, Apache and OS versions we are using as well as the command line used to start Resin and relevant Apache config entries. The complete resin.conf file is attached. Let me know if you need any additional information.

Thanks,

Malte Muenke | Director, Software Engineering

Citrix Online Division
Citrix Systems, Inc.
5385 Hollister Avenue
Santa Barbara, CA 93111 USA
www.citrix.com


[broker@g2abr1 ec]$ /usr/j2se/bin/java -version java version "1.4.2_05"
Java(TM) 2 Runtime Environment, Standard Edition (build 1.4.2_05-b04) BEA WebLogic JRockit(TM) 1.4.2_05 JVM R24.4.0-1 (build ari-38120-20041118-1131-linux-ia32, Native Threads, GC strategy: parallel)


[broker@g2abr1 ec]$ cat resin_stdout.log.20050521 Resin Professional 3.0.13 (built Fri, 06 May 2005 10:08:54 PDT)
Copyright(c) 1998-2004 Caucho Technology. All rights reserved.
  0003471 -- 2 Resin servers Citrix Systems Inc.


[broker@g2abr1 broker]$ /opt/ec/apache2/bin/httpd -V Server version: Apache/2.0.54
Server built: May 12 2005 14:01:32
Server's Module Magic Number: 20020903:9
Architecture: 32-bit
Server compiled with....
 -D APACHE_MPM_DIR="server/mpm/worker"
 -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 HTTPD_ROOT="/opt/ec/apache2"
 -D SUEXEC_BIN="/opt/ec/apache2/bin/suexec"
 -D DEFAULT_SCOREBOARD="logs/apache_runtime_status"
 -D DEFAULT_ERRORLOG="logs/error_log"
 -D AP_TYPES_CONFIG_FILE="conf/mime.types"
 -D SERVER_CONFIG_FILE="conf/httpd.conf"

[broker@g2abr1 broker]$ uname -a
Linux g2abr1.sjc 2.4.21-27.0.2.ELsmp 0000001 SMP Wed Jan 12 23:35:44 EST 2005 i686 i686 i386 GNU/Linux

/usr/j2se/bin/java -server -Xms512m -Xmx1518m -Xgcprio:pausetime -Xgcreport -Xgcpause -Xverbosetimestamp -Xverbose:memory -Duser.region=US -Djava.rmi.server.hostname=127.0.0.1 -Xverboselog:/var/ec/gc.log -Xss1m -Dresin.home=
/opt/ec/resin-pro-3.0.13 -Djava.util.logging.manager=com.caucho.log.LogManagerImpl com.caucho.server.resin.Resin -conf /opt/broker/conf/resin.conf-DONTTOUCH -stdout /usr/opt/var/ec/resin_stdout.log -stderr /usr/opt/var/ec/resin_stderr.log


httpd.conf:

<IfModule worker.c>
StartServers 4
MaxClients 500
MinSpareThreads 100
MaxSpareThreads 150
ThreadsPerChild 50
MaxRequestsPerChild 0
</IfModule>
...

CauchoHost 127.0.0.1 6802
<LocationMatch /(servlet|axis)/*>
  SetHandler caucho-request
</LocationMatch>

 
(0000247)
ferg
05-24-05 00:00

The only configuration items which look odd are the MaxRequestsPerChild 0 and having thread-max be lower than the expected max Apache threads. I'd need to check if MaxRequestPerChild of 0 is the same as infinite. If 0 really means zero, then Apache should be closing the Apache process after each request.

The thread-max can be bumped up to 500.
 
(0000248)
ferg
05-24-05 00:00

checked with 3.0.14 snapshot with the mapping/keepalive fixes and the ESTABLISHED connections make up the strong majority of connections, i.e. keepalive is working as expected.
 

- Issue History
Date Modified Username Field Change
05-24-05 00:00 user200 New Issue
11-30-05 00:00 administrator Fixed in Version  => 3.0.14
11-30-05 14:43 ferg Status resolved => closed


Mantis 1.0.0rc3[^]
Copyright © 2000 - 2005 Mantis Group
39 total queries executed.
31 unique queries executed.
Powered by Mantis Bugtracker