You may want to consider enabling it, but I would add some caveats and observations that I share below. Note that it's really quite easy to enable, and DOES NOT require a restart of CF (only of your web server, or technically in IIS, the application pool/s) to take effect.
If you've not yet read their blog entry, go check it out and then come back here for several observations I have to share, some of which I think you'll agree could be very important. (BTW, if you don't follow that Adobe CF blog regularly, you really should. Often great content, and very little "noise".)
While the conference name has changed (from cf.Objective()), there are still plenty of CF-oriented topics, and of course as nearly everyone would point out, it's good for everyone to expand their reach and focus.
To that end, I'll be doing a topic a bit different than my normal focus of CF server troubleshooting. Instead, recognizing that there will be folks there who either use other servers, or develop web apps or mobile apps, I'll do a bit of a "soft" topic on how to troubleshoot performance problems more generically, in:
Hey, my web app's slow. Where's the problem?
Looking to buy ColdFusion? Get it at a discount from the FR folks, and an additional discount off FR
Even better, for a limited time, folks making such a purchase of CF there will get 20% off a purchase of FusionReactor Standard or Enterprise Subscription, if purchased at the same time.
So if you're looking to buy CF11, save money on CF and get a great monitoring solution for CF. I work with it daily, using it on my sites and nearly always recommending it as the best tool for solving CF problems. (It also works with Railo, Lucee, and BlueDragon Server JX, as well as Tomcat, JBoss, Jetty, GlassFish, and indeed any Java application.)
See my FusionReactor category of blog posts for more I've shared on FR over the years.
But more than that basic info, I'd like in this post to take advantage of the chance to share a few things related to the topic of upgrading FusionReactor, including some common questions I often am asked as I assist people in using it:
- Where do I get the update?
- How do I find out what's new in the update?
- Should I hesitate about applying the very latest FR update as soon as it comes out?
- How would you I know there WAS an update to FR available?
- Do I just need to run the full installer or can I update just one file perhaps?
- Do I need to restart CF (or Railo/Lucee/Tomcat, etc.) for the update to take effect?
- Can I update FRAM and choose NOT to update my monitored CF/Railo/Lucee/Tomcat/etc instance?
- Why do you keep referring to "CF/Railo/Lucee/Tomcat/etc"? I thought FR was a CF monitor tool?
- What if I'm on an FR version older than 5.0?
For these and more, read on.
CF911: Help, How do I connect sites to a new instance w/ the ColdFusion 10/11 webserver config tool?
The solution is relatively easy, and the problem could maybe be fixed (or at least warned about) by Adobe (and I just filed a bug report for it). Until that happens, I wanted to share this. For more, read on.
- ColdFusion 11 Update 5 prerelease build now available
- ColdFusion 10 Update 16 prerelease build available
This is on top of the release earlier this week of the final version of CF11 Update 4 (which had been in prerelease for a couple of weeks):
Great to see the CF team cranking on the bug fixes. I count just under 120 in the technotes for CF11 update 5, and just under 40 in CF10 update 16. And there were just under 200 fixes in Update 3 of CF11, which again was released just in recent weeks.
Yeah, but what about all those bugs?
Yes, I know some could twist things and say "yeah, but the problem is that there are so many bugs to be fixed". Sure.
Still, for others who may have longed to see their bugs fixed,
Wouldn't it be nice to know, at any moment (such as when things are going badly), just what queries (or stored procedures or commands) were running in the database at that point in time?
Well here's good news: if you're running SQL Server, the following SQL query will show you just that: the currently running SQL statement(s) and some additional details about each query including their duration, their database name, the program executing the SQL, the session id, and much more.
(If you're running MYSQL, you may know that you can get pretty much the same info with SHOW PROCESSLIST. Or if you want to do it as SQL, you can use SELECT * FROM INFORMATION_SCHEMA.PROCESSLIST WHERE COMMAND != 'Sleep'. Sadly, it's just not that simple in SQL Server, it seems, thus the need for this entry.)
The code for SQL Server
Following is the code, and then some discussion of it:
The book is a quick read, and really well done, including a discussion of what statistics are, why they're important, how to diagnose trouble with them, and how to use the SSMS interface and/or SQL statements/commands to better understand them.
There are plenty of screenshots and it's written in a tutorial manner. And while it's from 2010 and covers only up to SQL Server 2008, most of the concepts apply just as well to SS 2012 and beyond, and of course many organizations are still running on SS 2008 or even earlier!
Most important, Schmeling explains why it's important that you take responsibility to both create and maintain statistics (rather than leave it as something that "the database" should handle. And if you are leaving it as something "the db should handle", you can use this to make sure that person is doing their job with respect to statistics.)
That said, there are some concerns I have, with respect to how I fear some may read and take action based on it (especially the notion of deleting the cfclasses files, as a possible solution to the problem).
I'm not contradicting Rahul here, just elaborating on some points, as someone who (like some on the CF team) helps people with CF server troubleshooting every day.
I started to write these thoughts as a comment there, and (as often happens) it grew long so I thought it better to be a blog entry rather than a long comment, and point people here. Once I did that I decided to go further still, hoping to really help those interested to consider the issue more carefully. (It also gives me a chance to highlight again the Adobe CF team blog, something I recommend EVERYONE reading this should follow!)
One quick point (and update) for the TL;DR cloud: My recommendation is that you move the cfclasses folder out of that location, as a temporary test, to see if it makes CF startup happen faster. If it does, I explain why and what the implications are in the choices of renaming, deleting, moving, or disabling the related "save class files" feature. Also, I add an update in E.1 below (since posting this) which you may really want to read: consider turning off your anti-virus software's real-time protection against the cfclasses folder to see if that alone helps with startup.