Apache 2 + Sun Java 8.1 load balancer connector dies under load

Hi,

We are testing the apache module "mod_loadbalancer.so" for connecting an apache 2 to a Sun Java 8.1 App Servers running on a different box.

When we perform a basic load testing (60 concurrent users) we are experiencing a very high CPU usage: apache's CPU consumption is around 30-40%per child.

This generates or very slow responses from the App Server or at some point the apache thread die, and therefore, lose of connection to the app server, generating an internal server error.

If we perform this same test directly to the App Server httpd listener, it bahaves fine. We have also performmed the same test againt static content of apache, and again the everything is ok, we even have tried using iWS instead of apache, and the CPU does not go over 4%, so it looks like the problem resides on the apache connector.

Have any of you experienced something similar?

This is the basic conf:

Web Server:

SunOS 5.9 Generic_118558-19 sun4u sparc SUNW,UltraSPARC-IIi-cEngine

Apache 2.0.54 with MPM worker (threads support) compiled with gcc

apache:~>/apps/WebServer/apache/2.0/bin/httpd -v

Server version: Apache/2.0.54

Server built:May 23 2006 07:10:19

apache:~>/apps/WebServer/apache/2.0/bin/httpd -l

Compiled in modules:

core.c

mod_access.c

mod_auth.c

mod_log_config.c

mod_env.c

worker.c

http_core.c

mod_mime.c

mod_negotiation.c

mod_dir.c

mod_actions.c

mod_alias.c

mod_so.c

httpd.conf:

#--#

#Sun AppServer Load Balancer Configuration #

#--#

LoadFile /usr/lib/libCstd.so.1

LoadModule apachelbplugin_module /apps/WebServer/apache/2.0/modules/mod_loadbalancer.so

config-file /apps/WebServer/apache/apache2-sunsecd1/conf/loadbalancer.xml

locale en

loadbalancer.xml:

<?xml version="1.0" encoding="UTF-8"?>

<!DOCTYPE loadbalancer PUBLIC"-//Sun Microsystems Inc.//DTD Sun ONE Application Server 7.1//EN""sun-loadbalancer_1_1.dtd">

<loadbalancer>

<cluster name="sunsecd1">

<instance disable-timeout-in-minutes="30" enabled="true" listeners="http://appserver:38082" name="sunsecd1"/>

<web-module context-root="petstore" disable-timeout-in-minutes="30" enabled="true"/>

<web-module context-root="opc" disable-timeout-in-minutes="30" enabled="true"/>

<web-module context-root="admin" disable-timeout-in-minutes="30" enabled="true"/>

<web-module context-root="supplier" disable-timeout-in-minutes="30" enabled="true"/>

<health-checker interval-in-seconds="30" timeout-in-seconds="10" url="/"/>

</cluster>

<property name="response-timeout-in-seconds" value="60"/>

<property name="reload-poll-interval-in-seconds" value="60"/>

<property name="https-routing" value="false"/>

<property name="require-monitor-data" value="false"/>

<property name="route-cookie-enabled" value="true"/>

</loadbalancer>

[4011 byte] By [kus] at [2007-11-26 7:57:42]
# 1
Hi,On which platform are you facing this issue? What is exact version of appserver 8.1 as we have 8.1UR2 and 8.1UR2 patches too.If you are facing on Solaris platform, you can generate core and check the threads for consuming high CPU.Thanks,-Balaji.
BalajiKoutharapu at 2007-7-6 20:24:20 > top of Java-index,Application & Integration Servers,Application Servers...
# 2

Hi Balaji,

The Apache webserver runs on Solaris 9 on a Netra T1:

$ /usr/platform/`uname -i`/sbin/prtdiag

System Configuration: Sun Microsystems sun4u Netra t1 (UltraSPARC-IIi 440MHz)

System clock frequency: 110 MHz

Memory size: 1024 Megabytes

========================= CPUs =========================

RunEcacheCPUCPU

Brd CPUModuleMHzMBImpl.Mask

- ---

0004402.0129.1

========================= IO Cards =========================

Bus# Freq

Brd Type MHzSlot NameModel

- - - -- -

0PCI-1 331ebus

0PCI-1 331network-SUNW,hme

0PCI-1 332scsi-glm Symbios,53C875

0PCI-1 333network-SUNW,hme

0PCI-2 331pci-pci1011,22

The Sun App Server is Sun Java System Application Server Enterprise Edition 8.1_02 (build b11-fcs)

Did I miss anything else?

kus at 2007-7-6 20:24:20 > top of Java-index,Application & Integration Servers,Application Servers...
# 3
Hi,As I mentioned earlier, you can generate core file and observe the threads.You can also try with latest 8.1UR2 patch 08 lbplugin.Thanks,-Balaji.
BalajiKoutharapu at 2007-7-6 20:24:20 > top of Java-index,Application & Integration Servers,Application Servers...
# 4
Just wondering where this patch may be obtained from... I'm using the version of 8.1EE included with JES 2005Q4Does SunSolve have it?
tourtech at 2007-7-6 20:24:20 > top of Java-index,Application & Integration Servers,Application Servers...
# 5
Yes. Sunsolve will have the patches. You can get AS8.1UR2patch 08 and 8.1UR2patch09 patches and try out.Thanks,-Balaji.
BalajiKoutharapu at 2007-7-6 20:24:20 > top of Java-index,Application & Integration Servers,Application Servers...