Copy link to clipboard
Copied
Hi,
Below is the information of the Cold Fusion 11 application server:
VM machine
Windows 2008
32 Bit
3 gb of ram
4 CPU's
Cold Fusion 11 Enterprise (all updates installed, except for Update 5)
IIS 7
IIS setting for the application pool Maximum Worker Processes is 1
The number of users in the application range from 500-700.
Only one website on the server
No errors in the IIS or Cold Fusion logs
The following are the settings in the workers.properties:
worker.list=cfusion
worker.cfusion.type=ajp13
worker.cfusion.host=localhost
worker.cfusion.port=8014
worker.cfusion.max_reuse_connections=500
Worker.cfusion.connection_pool_size=800
The following are the settings in the server.xml:
<Connector port="8014" protocol="AJP/1.3" maxThreads= "800" redirectPort="8447" tomcatAuthentication="false" />
At times a message appears when users try to access the login page (The login page does not access the database):
The service not available
From my research the message is coming from IIS and the access to the IIS application pool. In the article
below
URL:
http://www.coldfusionmuse.com/print.cfm?id=76A75909-039F-9E36-866EDF39204E047C
states to increase the value for maxworkerthreads. I cannot find this for Cold Fusion 11.
Also, I have found the Maximum Worker Processes in IIS should be increased.
Has anyone had the issue of the intermittent message of "The service not available"?
Thanks,
Mike
Copy link to clipboard
Copied
Hi Mike,
Your reference to coldfusionmuse post applies to CF9 and earlier which
used a Jrun webserver connector. CF11 uses tomcat for webserver connector.
You might like this Adobe blog:
http://blogs.coldfusion.com/post.cfm/coldfusion-11-iis-connector-tuning
Many folks find apply a value for "timeout" in workers.properties and AJP of server.xml is helpful. EG:
worker.cfusion.connection_pool_timeout = 60 (workers.properties)
connectionTimeout="60000" (AJP section of server.xml)
Note server.xml change requires CF restart and workers.properties change requires IIS restart.
Suggest check tomcat connector log ColdFusion11\config\wsconfig\N\isapi_redirect.log for errors or warnings.
HTH, Carl.
Copy link to clipboard
Copied
Hi Mike,
Something else to consider. Windows and CF 32 bit so Java memory is limited. Perhaps CF Java is having a heap or non heap problem and a minor adjustment needs to be made to heap or non heap to cope better with the type of load.
Are you familiar with traditional Java logging to a file or using JMX with JDK tools like jconsole? Perhaps there are some errors or warnings in coldfusion-out.log?
Again, Carl.
Copy link to clipboard
Copied
Carl,
I do not have access to the JMX with JDK tools like jconsole. Also, there are no java error messages in the coldfusion-out.log file.
In the isapi_redirect.log, I am seeing the following over and over:
Tue Aug 25 10:14:59.276 2015] [17716:17344] [error] HttpExtensionProc::jk_isapi_plugin.c (2607): service() failed with http error 503
[Tue Aug 25 10:15:02.224 2015] [17716:17344] [info] jk_open_socket::jk_connect.c (758): connect to 127.0.0.1:8014 failed (errno=61)
[Tue Aug 25 10:15:02.224 2015] [17716:17344] [info] ajp_connect_to_endpoint::jk_ajp_common.c (1068): Failed opening socket to (127.0.0.1:8014) (errno=61)
[Tue Aug 25 10:15:02.224 2015] [17716:17344] [error] ajp_send_request::jk_ajp_common.c (1712): (cfusion) connecting to backend failed. Tomcat is probably not started or is listening on the wrong port (errno=61)
[Tue Aug 25 10:15:02.224 2015] [17716:17344] [info] ajp_service::jk_ajp_common.c (2795): (cfusion) sending request to tomcat failed (recoverable), because of error during request sending (attempt=1)
[Tue Aug 25 10:15:03.332 2015] [17716:17344] [info] jk_open_socket::jk_connect.c (758): connect to 127.0.0.1:8014 failed (errno=61)
[Tue Aug 25 10:15:03.332 2015] [17716:17344] [info] ajp_connect_to_endpoint::jk_ajp_common.c (1068): Failed opening socket to (127.0.0.1:8014) (errno=61)
[Tue Aug 25 10:15:03.332 2015] [17716:17344] [error] ajp_send_request::jk_ajp_common.c (1712): (cfusion) connecting to backend failed. Tomcat is probably not started or is listening on the wrong port (errno=61)
[Tue Aug 25 10:15:03.332 2015] [17716:17344] [info] ajp_service::jk_ajp_common.c (2795): (cfusion) sending request to tomcat failed (recoverable), because of error during request sending (attempt=2)
[Tue Aug 25 10:15:03.332 2015] [17716:17344] [error] ajp_service::jk_ajp_common.c (2815): (cfusion) connecting to tomcat failed.
Thanks,
Mike
Copy link to clipboard
Copied
Hi Mike,
ISAPI log indicates tomcat connector at IIS can not reach CF. CF-out log is not as useful informing of JVM issues as it used to be in CF9 an earlier. I think an adjustment to JVM will help but some kind of monitoring or logging to know what (heap, non heap or collector) to alter would help.
Suggest this:
- set min and max heap to the same and twice default max value to 1024m
- increase MaxMetaspaceSize to 384m
- define an initial setting for metaspace -XX:MetaspaceSize=124m
and more optionally
- add a setting for code cache -XX:ReservedCodeCacheSize=124m
- define value for New part of heap -Xmn312m
- define more threads for the collector -XX:ParallelGCThreads=24
- control shrink and growth -XX:MinHeapFreeRatio=40 -XX:MaxHeapFreeRatio=70
Well that is going at it a bit blind without knowing what psrt is having an issue. If it works then good if not then you know what the existing settings are to put them back.
HTH, Carl.
Copy link to clipboard
Copied
Carl,
Thanks for the information. I am placing the values in the JVM.config file.
The MaxMetaspaceSize is not in the JVM file.
If add the MaxMetaspaceSize value would it be in the format of -XX:MaxMetaspaceSize=384m ?
Also, I do not anything called heap for min and max. I see a value of -Xmx1024m.
Thanks,
Mike
Copy link to clipboard
Copied
Carl,
When I implemented the values in the JVM.Confile file in the developement environment and restarted the Cold Fusion Application service the service would not start.
The following is the mesaage that appeared:
Windows could not start the Cold Fusion 11 Application Server on Local Computer. For information, review the System Event Log. If this is a non-Microsoft service, contact the service vendor and refer to service error code 2.
In the Event viewer, is the following message:
The description for Event ID 259
from source ColdFusion 11 Application Server cannot be found. Either the component that raises this event is not installed on your local computer or the installation is corrupted. You can install or repair the component on the local computer.
If the event originated on another computer, the display information had to be saved with the event.
The following information was included with the event:
ColdFusion 11 Application Server
the message resource is present but the message is not found in the string/message table
I will try to determine which value is causing the issue. But I will not be ablle to determine it untill early tomorrow morning.
Thanks,
Mike
Copy link to clipboard
Copied
Are you using JRE 7 or JRE 8?
Regards,
Anit Kumar
Copy link to clipboard
Copied
Per the Cold Fusion 11 Administration, The Java version is 1.7.0_51
Thanks,
Mike
Copy link to clipboard
Copied
MaxMetaspaceSize will not work with JRE 1.7. That's why CF didn't start. Please use MaxPermSize instead.
Also, please make the below changes:-
The following are the settings in the workers.properties:
worker.list=cfusion
worker.cfusion.type=ajp13
worker.cfusion.host=localhost
worker.cfusion.port=8014
worker.cfusion.max_reuse_connections=500
worker.cfusion.connection_pool_size=800
worker.cfusion.connection_pool_timeout=60
The following are the settings in the server.xml:
<Connector port="8014" protocol="AJP/1.3" maxThreads= "800" redirectPort="8447" tomcatAuthentication="false" connectionTimeout ="60000" />
Any changes made to {CF-Home}/config/wsconfig/{some no}/, including isapi_redirect.dll or worker.properties, would require an IIS restart. Any changes made to {CF-Home}/cfusion/runtime/conf/server.xml requires “ColdFusion 11 Application Server” service restart.
Regards,
Anit Kumar
Copy link to clipboard
Copied
The MaxMetaspaceSize was not placed in the JVM.Config file.
Would the -XX:MetaspaceSize=124m value be an issue using JRE 1.7?
Thanks,
Mike
Copy link to clipboard
Copied
Hi Mike,
Bother I should have asked if you are using Java 8 or EOL Java 7. Metasapce is a Java 8 parameter that Java 7 will not understand. So as Anit mentioned use PermSize and MaxPermSize instead.
In JVM.config -Xmx is max heap. To set initial or min heap add -Xms. Eg: -Xms1024m -Xmx1024m .
Regards, Carl.
Copy link to clipboard
Copied
You can use -XX:MaxPermSize=384m. MaxMetaspaceSize is used in JRE 1.8 only.
Also, make the connector tuning, mentioned in the previous post.
Regards,
Anit Kumar
Copy link to clipboard
Copied
Hi,
Below are the messages in the isapi_redirect.log file after making the changes. Are these correct?
[Fri Aug 28 03:15:55.193 2015] [2568:3648] [info] init_jk::jk_isapi_plugin.c (2978): Starting Jakarta/ISAPI/isapi_redirector/1.2.40
[Fri Aug 28 03:15:55.209 2015] [2568:3648] [info] init_jk::jk_isapi_plugin.c (3176): Jakarta/ISAPI/isapi_redirector/1.2.40 initialized
[Fri Aug 28 03:15:59.795 2015] [2568:3648] [info] ajp_process_callback::jk_ajp_common.c (2154): current reuse count is 1 of max reuse connection 250 and total endpoint count 250
[Fri Aug 28 03:36:56.172 2015] [2568:2488] [info] TerminateFilter::jk_isapi_plugin.c (2663): Jakarta/ISAPI/isapi_redirector/1.2.40 stopping
[Fri Aug 28 03:53:32.404 2015] [3076:4448] [info] init_jk::jk_isapi_plugin.c (2978): Starting Jakarta/ISAPI/isapi_redirector/1.2.40
[Fri Aug 28 03:53:32.420 2015] [3076:4448] [info] init_jk::jk_isapi_plugin.c (3176): Jakarta/ISAPI/isapi_redirector/1.2.40 initialized
[Fri Aug 28 03:53:32.591 2015] [3076:4448] [info] ajp_process_callback::jk_ajp_common.c (2154): current reuse count is 1 of max reuse connection 250 and total endpoint count 250
Thanks,
Mike
Copy link to clipboard
Copied
Yes, these are normal entries and are fine. They are "info" level messages.
Regards,
Anit Kumar