[Looking for Charlie's main web site?]

See you at dev.Objective() in mid-May (I'll be speaking)

Just wanted to share word (sorry it took so long) that I'd been selected as a speaker at the upcoming dev.Objective() conference, in Minneapolis in Mid-May. Hope to see lots of my fellow CFers there, and of course new folks who were not CFers.

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?

Whatever client or server technology you may be using, when your web app is slow, it can be maddening because it's not always obvious where the performance problem is. Is it on the client? on the server? On the network between? Is it all parts of the request or only some? If it's slow on the client, is it slow in all clients (if you support many)? And is it slow for everyone using the app? If it's slow on the server, is it slow in the web application server you may be talking to, if any? Or might it be in the web server? Or the database server?

In this session, veteran troubleshooter Charlie Arehart will help you consider these various possible performance pain points, and he'll share tools which may be available to you (many free, some built-in, some commercial) that may offer just the answer to the questions above. You can't solve a problem until you really understand it, and with the concepts and tools discussed here, you will be well on your way to identifying and resolving the real source of your web application performance problems.

No particular experience is required. Familiarity with web application development with any client and any server technologies will be sufficient to appreciate the techniques and tools to be shown.

So while I won't dig into the weeds of CF server troubleshooting, I will help folks (as I also do daily) with understanding where to find performance problems. There are so many places, I won't have time to get into "how to solve them". My hope is that by showing you how to spot the problems, you can then use other resources (many of which I will share) to then go resolve whatever may be your specific problem or problems.

It's currently scheduled for 1015am (was 9am, when I first posted this) Friday morning in the Nokomis room (that sizable room upstairs from the others), and of course the time and room are subject to change.

Check out Dan Wilson's complementary talk

Some may notice that Dan Wilson has a talk (set for now on the opening afternoon) which may seem similar, Our application got popular, and now it breaks. If you read his desciption, you'll see that it's quite differnt. And he and I have talked. His is more tactical (how did you get into this mess?) where as mine is more strategic (how do I find out where the problem really is?). It would perhaps have been better if the timing was that mine came before his, but hey that's how the objects are allocated on the stack. :-)

I'll also do a sponsored talk for the FusionReactor folks

As in years past, I have also been asked by the FusionReactor folks (aka, Intergral) to give their sponsor talk on their great tool which I use (and help people use) every day in my CF server troubleshooting services, including news of a coming major new release which really will be quite an important upgrade. For more, come to the talk! (There should be a real title and description shown, but there is none for now in the timeslot currently allocated, Thursday at 1;45p. Hope to see that fixed soon.)

And there are several dozen more great talks at this great conference

Of course, there are several dozen other talks on a whole range of topics related to development, so check 'em out, and if somehow you hadn't heard of the conference and might want to come, it's not too late.

It's still at the fabulous Radisson Blu hotel, right next to the Mall of America, still run by the same great team of folks, and still has many speakers who CFers have come to know, with of course lots of new ones (and on new topics) that may be come your favorites. It's a great conference all around, every year, and I can't wait to see some of you there. Well, you know what I mean! :-)

Looking to buy ColdFusion? Get it at a discount from the FR folks, and an additional discount off FR

If you're in the market to buy ColdFusion 11, whether a full license or an upgrade from 10 or 9, you can get a discount off the retail (Adobe) price by buying from www.buy-adobe-software.com, which is a site by the fine folks who make FusionReactor, who are an official Adobe reseller. Why pay full price for CF if you can save, up to 10% currently?

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.

FusionReactor updated today: some general info related to getting/applying FR updates

How to update FusionReactorFusionReactor users will want to know that there was a new update released today, 5.2.6. The update is free for those on 5.2.x releases as well as those with maintenance agreements. And you can just download the installer and run it to update your current version (even back to FR 5.0, if you've not updated FR 5 since you first installed it).

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.

[....Continue Reading....]

CF911: Help, How do I connect sites to a new instance w/ the ColdFusion 10/11 webserver config tool?

This one causes a lot of heartburn for folks: you add a new instance in CF10 or 11 (in editions other than Standard, which do support adding instances), and you find that you can't seem to have the web server configuration tool (wsconfig) connect sites to that new instance(s). You never see the new instance listed in the UI of the wsconfig tool. What gives?

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.

[....Continue Reading....]

Updates, updates. Get your CF updates! The CF Team has been busy fixin' bugs!

If you'd not noticed, the CF team has been busy fixin' bugs! Over 300 in CF11 in just the past month. Check out these two announcements today of prereleases of update 5 for CF11 and update 16 for CF10:

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, here's hoping that these or any of the other recent updates may address those for them.

File your bugs, vote for others

And let this be a lesson to folks: if you've got a problem, don't just publicly complain about it. File a bug report. That said, since the team does need to triage bug fixes and does take votes into account, some may want to publicize their particular bug to garner interest in it.

But please: don't ask me to do that for you here. :-) You may notice I don't even do that myself here for bugs I report. I trust that the system works and important problems will be found and voted upon by folks.

The recent spurt of bug fixes, as well as some specific responses to issues I've raised (some, not all), does give me hope that the process is working.

Do remove any prerelease updates when things go final

Oh, and if you may have applied (or will apply) one of the prereleases, don't forget to uninstall it when the final comes out. And change your CF Admin "update settings" page to point back to the original URL (versus the prerelease update feed URL). Use the provided "restore default URL" for that. In fact, I'd recommend you do that right after downloading a prerelease, so you don't forget.

Sadly, I have found that even with the default URL restored, we are NOT notified that a new final release is ready if we have the prerelease installed. That's unfortuante. Until that may be fixed, do keep an eye on that CF team blog above. It's a great resource of what's going on with CF.

Free, simple code to find out what SQL statements are running in SQL Server right now

Often when people are trying to troubleshoot seeming problems in CF, they may wonder if (or have tools which suggest that) their CF requests are being held up waiting for some long-running query to run in the database.

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 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, 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:

[....Continue Reading....]

"Understanding SQL Server Statistics": A great, free, relatively brief ebook

If you want to understand the important concept of SQL Server statistics (a mechanism within SQL Server which tracks metadata about your data, and which can significantly affect query performance if not managed well), I think you can do no better than than to spend an hour or so reading the free 40-page e-book, SQL Server Statistics, written by Holger Schmeling and offered by Red-gate. book cover

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.)

[....Continue Reading....]

Elaborating on an Adobe blog entry today, related to tweaking CFCLASSES to solve slow CF startup

The fine folks at the Adobe CF blog posted a blog entry today, on "Sometimes ColdFusion services refuse to start normally post server restart" (by Rahul Upadhyay), which offers some helpful information on one possible solution to the stated problem.

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, just elaborating on some points, as someone who (like them, perhaps) 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!)

[....Continue Reading....]

CF911: "Help! I've updated the JVM which ColdFusion uses, and now it won't start!"

Has this happened to you? You follow some resource on the web showing how to update the JVM which CF uses, to a new version, and then wham, CF won't start. And now you may be stuck wondering, "what happened? how am I supposed to fix this?"

It's a tragic position to be in. (I was tempted to title this, "Help. My JVM has fallen and CF can't get up", but I fear that dated and veiled 80's reference would go over the heads of many of my readers.)

The thing is, there are several reasons why your attempt to update CF's JVM can fail, and fortunately I can offer several things you can look at to hopefully quickly recover from or undo things. If you're interested, read on.

[....Continue Reading....]

My reply to: "The price for CF troubleshooting consultants is a joke. They're taking us for a ride"

Ok, so that's clearly not my sentiment but rather that of a certain "Simon" (no other identifying info offered) in a blog comment in one of the recent CF team blog entries.

After complaining about how poorly he felt CF had responded to his seeking help, he threw in additionally that "the existing private consultants prices are a total joke - they are taking us for a ride!".

Well, I just couldn't let go his comment go unremarked.

I started to write my reply there, but it grew long (as is my wont). So rather than post there (where most comments are brief), I decided to post it here instead and point to it there. Perhaps some of my readers here may appreciate it as well, as I also talk about some thoughts on CF troubleshooting in general.

[....Continue Reading....]

BlogCFC was created by Raymond Camden. This blog is running version 5.005.

Managed Hosting Services provided by
Managed Dedicated Hosting