views:

499

answers:

3

Question: What are tips and tools you can give us to help troubleshoot & monitor performance on ColdFusion 8 & the JRE?

What we're currently doing: We currently use a combination of the following to help us, but feel like we're not really getting anywhere. I'd love to be able to have a peak into the JRE to see what's going on.

  • FusionReactor
  • /opt/coldfusion8/bin/cfstat
  • /opt/coldfusion8/bin/logs/* (primarily exception.log & cfserver.log)
  • ColdFusion Debug output (for tracking request & query response times)
  • Apache 'server-status'
  • MySQL Administrator to monitor database activity

System Info: We are running multiple ColdFusion 8 Application servers. They were installed on RH Linux with ColdFusion 8,0,1,195765 Standard, using the default Sun JRE v1.6.0_04 that came with the installer. Our databases are on a dedicated database server, running MySQL 5.0.45 on RH Linux.

Problems: We are running into weird issues, such as the following:

  • The page load hanging halfway through the browser loading the page (with the browser window staying all white, not loading any HTML). If you stop the request and refresh again, it works fine the second time.
  • ColdFusion crashing hard. When we restart ColdFusion, the exception log is saying the license.properties file is bad. We have to reinstall ColdFusion to get it back working.
  • Started seeing "too many open files" in the exception.log. We followed instructions here on how to change the limit of files that could be open.

Extra info:

  • We are starting to utilize memcached in our applications to reduce the amount of database calls that we have, hoping this helps.
  • We turned our client storage to the registry instead of the database as a test to see if that helped by not making database calls.
  • We are scheduling to update our JRE to the latest version (1.6.0_14) to see how that helps.
+1  A: 

I would highly suggest that you upgrade the JRE, especially if your applications are making heavy use of cfc components. There is a bug in the older JRE version that makes object creation slow.

Using the registry will not work on linux. You can only use database or cookies, but I don't know what ColdFusion will do if registry is selected on linux. I would suggest the database for client storage. Be aware that users can modify cookies on their system if you use cookies for client storage.

Apache JMeter may be a tool worth looking at if you have further problems.

Also, have a look here for more info on performance issues and client storage.

Jayson
Using the registry DOES work on linux.
Henry
@Jayson "On UNIX systems, the registry entries are kept in /opt/coldfusion/registry/cf.registry, a text file that you can copy and edit directly."http://livedocs.adobe.com/coldfusion/8/htmldocs/sharedVars_09.html
Henry
We will do this. As well, we are looking into MySQL optimization as we think the connections from java are getting backed up.
Mike Jr
@Jayson which version of the JRE do you recommend?
kevink
@kevink, I'm using version 6 update 14 on my CF servers although update 15 is available and should work fine.
Jayson
A: 

For what it's worth (Even though I flagged your post as "should be moved to ServerFault"), I think you should start by switching client storage from Registry to Database. As pointed out in your other question, with database connection pooling the extra database hits are fairly minimal -- and use of the Registry is unsupported on Linux; which should throw up a red flag for you.

Adam Tuttle
A: 

It sounds like the file limits may not be correct for you despite your changes. Make sure the limits were persisted by editing limits.conf for both file handles and concurrent processes. If you have Apache in a multi-process vs multi-thread setup then you'll be using lots of processes.

Define “soft” & “hard” limits for max open file handles for all users

* soft nofile 20000
* hard nofile 20000

Define “soft” & “hard” limits for max concurrent processes for all users

* soft nproc 8192
* hard nproc 8192

Also, you should look at the JVM dumps when CF is crashing. They'll tell you the real reasons why CF is going down. You should be sure to check the JVM log files too /opt/coldfusion8/runtime/logs

We (Intergral - makers of FusionReactor) offer a consulting service if you're still stuck.

David