Have you tuned your JVM on ColdFusion MX yet?

ColdFusion's move to java gives developers and system administrators a wealth of performance tuning options. This is due to the fact that the runtime for ColdFusion is now pluggable (the JVM), we don't have to rely completly on Macromedia to make performance optomizations, we can use different JVM's and lots of different JVM settings to improve the performance and scalibility of our ColdFusion Applications. This is a topic I haven't seen much discussion about yet, and I'm not sure why.
What JVM should I use?You have lots of choices, IBM, Sun and BEA all make JVM's, each will perform differently. Which is the fastest? I couldn't tell you, it will depend on your server platform, and your application. Sun being the creator of Java, has the most popular JVM, but if you are really concerned about performance you should test with each vendor's JVM.
Here are some articles that may help make your decision (in no particular order)
- Java 1.4 Performance Guide - If your using Sun 1.3 you should probably think about upgrading to 1.4, due to huge increases in JNI performance (if you use COM, Registry, Verity you should see a big boost), Increased threading performance, 35% servlet performance increase (CFM pages are run as servlets in CFMX), byte code to native code compliation, etc
- BEA and Red Hat Partner to Deliver Unparalleled Java Performance For Enterprise-Class Linux
- The Volano Report - a benchmark, this report is 9 months old.
- Spec JVM98 Benchmark - reports are kind of old, but you can buy the benchmark software and run your own tests on your system.
- Java Performance FAQ
- Java Performance Docs (sun) - lots of good stuff here
- Java Platform Performance Strategies Aad Tactics - buy the book or get it free online
- Java HotSpot VM Options - docs on all the jvm settings for sun jvm's
- Tuning Garbage Collection - currently this doc is for 1.3.1, the sun jvm 1.4.1 includes an additional garbage collector, a concurrent gc which is suspossed to work well on multi-processer servers.
- Tuning Threads - this deals only with Solaris because you can choose different threading models on Solaris.
- Big Heaps, and Intimate Shared Memory (ISM) Big Heaps stuff applies to all platforms, the ISM is solaris only.
I haven't had the time to do any JVM testing on ColdFusion MX yet, but if you have I'd love to hear about your experiences email me pete@cfdev.com.
Tweet
Related Entries
- Robi Sen on Hung Servers, java.lang.OutOfMemory errors and Tuning CF JVM - November 19, 2004
- ColdFusion Garbage - June 3, 2004
- ColdFusion Memory Usage Stats - March 15, 2004
- OutOfMemoryError - GC overhead limit exceeded - March 25, 2010
- Bea JRockit 5 JVM Released - February 22, 2005
Trackbacks
Trackback Address: 89/B5BFB45E10886B7894B186F8BDD4F6D9
Comments
On 08/26/2004 at 5:24:39 PM EDT robi wrote:
1
Pete,
Your links here are pretty helpful. I just recently went to new york to help a client solve problems related to the dreaded Java.lang.OutOfMemory error which is in large part to lack of good degault settings in the Jrun.xml for the scheduler (and somewhat for the proxy) service. Alot of people who are getting these errors mistakenly think its only a JVM issue but its a jrun.xml settings issue but tuning the JVM can really increase performance, reduce the out of memory errors and in general make more people happy. Some time this weekend Ill blog all my results as well as my general rules and ideas on JVM tuning for CFMX.
On 11/19/2004 at 1:45:38 PM EST Robi Sen wrote:
2
Here is a link to that blog entry http://www.robisen.com/index.cfm?mode=entry&entry=FD4BE2FC-55DC-F2B1-FED0717CC1C7E0AF
On 09/21/2005 at 11:03:01 PM EDT Pete wrote:
3
I am having several issues that appear as you stated Robi. They are JVM errors as the logs state, relating to memory. I was interested in reading your blog, but the link isn't working for me. Hopefully you will get this message so I may be enlightened. I'm running the latest 6.1 package of CFMX, and this thing kills a server at least 4 times a day now. Any help would be appreciated. I may start testing a new jvm if you don't get this!
P
On 09/21/2005 at 11:04:10 PM EDT Pete (M) wrote:
4
BTW, I'm a different Pete.. Should have stated so! Insightful article Pete #1.
Thanks
On 01/26/2007 at 8:19:38 AM EST pete wrote:
5
Found the article very useful, I also had a peek at the article on peak code optimisation principles, Amanada Peet. Pete#2 you may find that interesting...
On 01/28/2008 at 11:23:57 PM EST borg wrote:
6
Good information! I am looking to dig into CFMX threads, so that I can see specific code executing. I know that we can issue dumps of a stack trace; however, I am looking for something a bit more easy to implement in a production environment. It seems to me, that I should be able to see CFMX programs run in real time. I can see the individual threads, but not the underlying code that is executing. We are running CFMX 6.1 and have been for almost four years without any problems at all. However, lately we see high CPU usage with threads stacking up. We can communicate with all Databases, but the threads still stack during peak load time. Any thoughts on a tool or existing Java methods I can use to acquire more information?
Post a Comment
Recent Entries
- Howto Install and Run the Android Emulator
- jQuery UI Autocomple IE 6 Select List z-Index Issues
- Path Traversal Vulnerability Security Hotfix for ColdFusion Released
- Using AntiSamy with ColdFusion
- Writing Secure CFML Slides from CFUnited 2010
- Locking Down ColdFusion Presentation Slides
- Cross Domain Data Theft using CSS
- Using jQuery UI Autocomplete with Hidden ID's
Your links here are pretty helpful. I just recently went to new york to help a client solve problems related to the dreaded Java.lang.OutOfMemory error which is in large part to lack of good degault settings in the Jrun.xml for the scheduler (and somewhat for the proxy) service. Alot of people who are getting these errors mistakenly think its only a JVM issue but its a jrun.xml settings issue but tuning the JVM can really increase performance, reduce the out of memory errors and in general make more people happy. Some time this weekend Ill blog all my results as well as my general rules and ideas on JVM tuning for CFMX.
P
Thanks


add to del.icio.us




