Hi!

We're currently in the process of migrating our ColdFusion MX 6.1 (32-bit) 
servers to ColdFusion 8 (64-bit). When testing our websites without load on the 
server, everything is working fine. As soon as we switch to production mode and 
let the users surf the sites, the proxy service denies requests and users get 
an ugly 500 server error message. The jrun logs however do not show any 
problems. We used a standalone-server configuration with CFMX 6.1 and switched 
to multiserver with two instances. Immediately after starting Apache, I always 
get a few pages delivered, but after roundabout 40-60 seconds, the apache error 
logs spawn lots and lots of the following messages:

[Wed Oct 22 18:53:55 2008] [notice] jrApache[22743: 45316]  127.0.0.1:51000 
connect failed[122]: 110 110 Connection timed out
[Wed Oct 22 18:53:55 2008] [notice] jrApache[22743: 45316]  Couldn't initialize 
from remote server, JRun server(s) probably down.

Testing was done by simply changing the Apache port from 80/443 to something 
that's not accessible from the internet; nothing else has been touched. The 
machine is the very same that used to run CFMX 6.1 without any such trouble 
before, though we used the standalone server configuration.

OS is Debian Etch, with libc6 2.7-14 from Debian Lenny (along with the 
dependencies). I tried the JRE that came with CF8, as well as jdk1.6.0_10 and 
jdk1.5.0_16, neither resolved the issue at hand. Kernel is 2.6.18-6-amd64 SMP, 
the machine has currently got 4GB RAM and two AMD Opteron 275 totalling four 
cores.

This is my current jvm.config:

java.home=/opt/jrun4/jdk1.5.0_16
java.args=-server -Xmx1024m -Dsun.io.useCanonCaches=false -XX:MaxPermSize=192m 
-XX:+UseParallelGC -Xbatch -Djava.awt.headless=true 
-Dcoldfusion.rootDir={application.home}/ 
-Djava.security.policy={application.home}/servers/cfusion/cfusion-ear/cfusion-war/WEB-INF/cfusion/lib/coldfusion.policy
 
-Djava.security.auth.policy={application.home}/servers/cfusion/cfusion-ear/cfusion-war/WEB-INF/cfusion/lib/neo_jaas.policy
 -Duser.timezone=Europe/Berlin
java.ext.dirs={jre.home}/lib/ext
java.library.path={application.home}/servers/cfusion/cfusion-ear/cfusion-war/WEB-INF/cfusion/lib
system.path.first=false
java.user.dir={application.home}/../lib
java.class.path={application.home}/servers/lib,{application.home}/lib,{application.home}/servers/cfusion/cfusion-ear/cfusion-war/WEB-INF/lib

Apache is version 2.2.3-4+etch5; here's the general config for ColdFusion:

# JRun Settings
LoadModule jrun_module /opt/jrun4/lib/wsconfig/1/mod_jrun22.so
<IfModule mod_jrun22.c>
    JRunConfig Verbose false
    JRunConfig Apialloc false
    JRunConfig Ssl false
    JRunConfig Ignoresuffixmap false
    JRunConfig ProxyRetryInterval 600
    JRunConfig ConnectTimeout 5
    AddHandler jrun-handler .jsp .jws .cfm .cfml .cfc .cfr .cfswf
</IfModule>

This is my include for the virtual hosts of the first instance WEB-01-CYNAMITE:
<IfModule mod_jrun22.c>
    JRunConfig Verbose false
    JRunConfig Serverstore "/opt/jrun4/lib/wsconfig/cynamite/jrunserver.store"
    JRunConfig Bootstrap 127.0.0.1:51002
    Alias /CFIDE 
/opt/jrun4/servers/WEB-01-CYNAMITE/cfusion.ear/cfusion.war/CFIDE
    <Directory 
"/opt/jrun4/servers/WEB-01-CYNAMITE/cfusion.ear/cfusion.war/CFIDE">
        AllowOverride All
        Order allow,deny
        Allow from all
    </Directory>

This is my include for the virtual host of the second instance named WEB-01-CIA:

<IfModule mod_jrun22.c>
    JRunConfig Verbose false
    JRunConfig Serverstore "/opt/jrun4/lib/wsconfig/cia/jrunserver.store"
    JRunConfig Bootstrap 127.0.0.1:51000
    Alias /CFIDE /opt/jrun4/servers/WEB-01-CIA/cfusion.ear/cfusion.war/CFIDE
    <Directory "/opt/jrun4/servers/WEB-01-CIA/cfusion.ear/cfusion.war/CFIDE">
        AllowOverride All
        Order allow,deny
        Allow from all
    </Directory>
</IfModule>

The non-instance server has got the following include:
<IfModule mod_jrun22.c>
    JRunConfig Serverstore /opt/jrun4/lib/wsconfig/1/jrunserver.store
    JRunConfig Bootstrap 127.0.0.1:51020
</IfModule>

I made sure that the jrunserver.store-files are present and accessible; the 
ports are correct too (otherwise the whole lot wouldn't be working in the test 
scenario). The Proxy-Services are started alright according to the CF-logs. 

I edited the ./servers/[instancename]/SERVER-INF/jrun.xml files; this is the 
section concerning the ProxyService:

<service class="jrun.servlet.jrpp.JRunProxyService" name="ProxyService">
    <attribute name="activeHandlerThreads">80</attribute>
    <attribute name="backlog">500</attribute>
    <attribute name="deactivated">false</attribute>
    <attribute name="interface">*</attribute>
    <attribute name="maxHandlerThreads">80</attribute>
    <attribute name="minHandlerThreads">10</attribute>
    <attribute name="port">51000</attribute>
    <attribute name="threadWaitTimeout">300</attribute>
    <attribute name="timeout">300</attribute>
    <!-- if 0, web server connector loads mappings once at startup -->
    <!-- if not specified, default is every 10 seonds -->
    <attribute name="mapcheck">0</attribute>
    <!-- set this to false for multi-hosted sites -->
    <attribute name="cacheRealPath">false</attribute>
    <!--
    <attribute name="keyStore">{jrun.rootdir}/lib/keystore</attribute>
    <attribute name="keyStorePassword">changeit</attribute>
    <attribute name="trustStore">{jrun.rootdir}/lib/trustStore</attribute>
    <attribute 
name="socketFactoryName">jrun.servlet.jrpp.JRunProxySSLServerSocketFactory</attribute>
    -->
</service>

Concerning the tuning in the Admin interface, I have tried the "Max 
simultaneous template requests" settings with both 50 (I know it's high, but it 
has worked fine with CF MX 6.1 to help it over the ramp-up after a restart) and 
16, neither changed anything about the issue.

I cannot see that it's a memory issue either - the CFML-code base hasn't 
changed. And vmstat doesn't show any memory exhaustion; this is a vmstat 5 
which is started just after starting Apache and running until the first error 
messages appeared in the webserver log:

# vmstat 5
procs -----------memory---------- ---swap-- -----io---- -system-- ----cpu----
 r  b   swpd   free   buff  cache   si   so    bi    bo   in   cs us sy id wa
 0  0  28184 2152100  67412 360480    1    2    22    89  165  288  4  1 92  3
 0  0  28184 2154652  67420 360484    0    0     0    30  268  458  1  0 99  0
 0  0  28184 2135116  67428 367752    0    0     0    88  533 1135  8  2 90  0
 2  0  28184 2132248  67444 367880    0    0    32    37  310  811  6  0 93  1
 0  0  28184 2098932  67724 369540    0    0   280    90 1725 2381 27  2 63  9
 0  0  28184 2023000  67952 381332    0    0  1198   261  955 1465 15  2 78  4
 1  0  28184 1987232  68064 388624    0    0   711    62  663  859  2  1 95  2
 0  0  28184 1909228  68080 388852    0    0     2   385 1037 1300  3  2 82 13
 0  0  28184 1867604  68092 389512    0    0   119    65  474 1154  3  1 96  0
 1  0  28184 1759428  68104 389592    0    0     2    30  646 1022  2  2 96  1
 1  0  28184 1732936  68108 389636    0    0     2    30  859 1007  1  1 97  0

As you may see, there's still a lot of memory free and the CPU is all but 
totally idle. There's no swapping and i/o wait is hardly noticeable. So why on 
earth do I get so much less performance out of the supposedly far superior CF8 
64-bit multi-instance configuration than out of good old CFMX 6.1 running on a 
32-bit VM?

If I cannot resolve this soon, I'll have to try with a standalone server 
install and hope for better luck with that one. Any help or pointers in the 
right direction would be immensely appreciated!

Kind regards

   Markus

Jede Stimme zählt, jetzt abstimmen für die besten Games: www.bamaward.de

Computec Media AG
Sitz der Gesellschaft und Registergericht: Fürth (HRB 8818)
Vorstandsmitglieder: Johannes S. Gözalan (Vorsitzender) und Rainer Rosenbusch
Vorsitzender des Aufsichtsrates: Jürg Marquard 
Umsatzsteuer-Identifikationsnummer: DE 812 575 276



~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~|
Adobe® ColdFusion® 8 software 8 is the most important and dramatic release to 
date
Get the Free Trial
http://ad.doubleclick.net/clk;207172674;29440083;f

Archive: 
http://www.houseoffusion.com/groups/cf-talk/message.cfm/messageid:314268
Subscription: http://www.houseoffusion.com/groups/cf-talk/subscribe.cfm
Unsubscribe: http://www.houseoffusion.com/cf_lists/unsubscribe.cfm?user=89.70.4

Reply via email to