[Looking for Charlie's main web site?]

CF911: CF doesn't respond for extended lengths of time

Note: This blog post is from 2008. Some content may be outdated--though not necessarily. Same with links and subsequent comments from myself or others. Corrections are welcome, in the comments. And I may revise the content as necessary.
This is the first of a series of blog entries I'll do under the heading of CF911, to share info I offer to people when I help people solve CF problems either on mailing lists or by my support consulting.

One problem: CF not responding

Someone asked for help on one of the Adobe forums, with a problem about users reporting that the server was not responding for extended periods.

After checking the logs (CF, Windows event, and IIS logs) and not "seeing anything to indicate errors", he wondered if somehow "you can set site availability windows".

I replied to him that, no, there are no features to set "windows of availability" for CF. So either CF was up and responding, or it wasn't. Even if it was, it may also be that his problem was with IIS. There are a few things that he could check....

First thing: check the Event logs for CF or IIS up/down

The first thing I'd do is check the Event Log (Application) to see if CF was indeed up or down. Look for event ids 3 and 4 for the "source" being the name for your CF server as shown in the event viewer.

Then I'd check if the web server itself may have gone down, using the same approach (though it's less likely). I'd also check the Event Logs (application or system) for any indications that the IIS application pool(s) may have have gone down. It's not unusual for the pools to recycle, but being down for an extended period may point out a web server problem (by which CF often gets blamed unfairly).

Next: Check the IIS logs

If that's not the issue, I'd then check the IIS logs, to see if indeed requests were being processed during that time. When people say "the server is down", that just means their requests were not processed. It may well be up and processing other requests. You'd also want to check whether cfm or other extensions were being processed at the time, their status codes, and the time-taken for each request (if enabled for the log in the properties for the site in IIS).

Next: Check the CF Built-in Web Server, if enabled

And when people report that it is "down", I'd also run requests using CF's built-in web server if it is/was enabled. If it responds on that web server, but not IIS, then that confirms a problem either with IIS or the web server connector between CF and it. The default port for CF's built-in web server is 8300, 8500, or some variation like it, depending on the version of CF and other things.

You can confirm if it's enabled and what port it would be by looking in the jrun.xml file. For more info, see resources like this CF 7 doc on the topic.

Using tools like FusionReactor, with even better logs

I'll point out that besides the web server logs, this is a problem that would be well served by having a tool like FusionReactor (fusion-reactor.com) and its great logging features that track all kinds of details about each page request. Of course, it's a great monitor and notification tool, with optional request protection features as well. (The CF8 monitor and SeeFusion are great too, but don't offer the kind of logs that FR does.)

Web Services specifically

He had also indicated that these were Flex apps calling CF web services that weren't returning data. He didn't indicate if other CF page requests were running, but since I've heard of problems of CF seemingly "down", the info above applies just as well to web service requests. As far as CF and IIS are concerned, those are regular requests, so they go through the same web server process and CF request queue.

(He didn't mention what version of CF he has--6, 7, or 8--and whether it's Standard or Enterprise. In CF8 Enterprise, there's a new feature to give web services requests their own set of request threads. You can see that in the CF Admin "Request Tuning" page.)

But he said specifically "during these times, calls to the web services never return any data". So, that's potentially still another issue. It may help to see what the web services would respond with if requested directly in the browser. Many don't realize you can request a CFC as a web service on the browser, which can help to confirm if/how it responds.

If you had a test.cfc with a method called getdata, that took an argument of myarg and a value of 1, you could request that on the browser using http://yourserver/yourpath/test.cfc?wsdl&method=getdata&myarg=1. If you need to pass in other arguments with simple values (text, numbers), just keep adding them.

Finally, you could also use a debugging Flash player or proxy tools like Charles to watch what traffic is going from/back to your Flex browser client. I list several such proxies in the CF411 resource I keep.

More help

There are surely still other things I could have thought of but I fired that off to see what he may say, and I've offered it here in case it may help someone. Feel free to raise questions here. (For anyone interested, the Adobe Forum thread this took place in was on here. If you want to offer something that may help the gent in question, feel free to reply there instead.)

I'll say in closing that if anyone has problems like the above and would like some help (someone looking over your shoulder to help you solve such problems), I'm happy to provide that sort of support, as discussed at carehart.org/consulting. But as you can see above (and in the forums, as well as many mailing lists), I'm also happy to share the info for people who prefer to solve problems on their own.

For more content like this from Charlie Arehart: Need more help with problems?
  • If you may prefer direct help, rather than digging around here/elsewhere or via comments, he can help via his online consulting services
  • See that page for more on how he can help a) over the web, safely and securely, b) usually very quickly, c) teaching you along the way, and d) with satisfaction guaranteed
Comments
Copyright ©2024 Charlie Arehart
Carehart Logo
BlogCFC was created by Raymond Camden. This blog is running version 5.005.
(Want to validate the html in this page?)

Managed Hosting Services provided by
Managed Dedicated Hosting