CF911 Wiki: A knowledge base and repository for CF server troubleshooting

HTML

CFStat

CFStat is a free command-line tool that comes with ColdFusion (and has since its earliest releases: at least as far back as CF 4).

CFStat is accessible from the command line (in all operating systems supported by CF) in the [coldfusion]\bin directory, and provides several hi-level metrics on the status of the CF server. While rudimentary, they are far better than nothing when you are suffering problems and have no idea what's going on within CF.

With it, you can know: how many requests are running at a moment in time, and how many requests are queued. You can see how pages per second are running, as well as how many queries per second are running, and the highwater mark for each. There are a few more metrics, and several more still available for those running CF Enterprise (via the -x argument).

It also accepts as an argument a number, which will cause the CFSTAT line of information to be auto-refreshed after that many seconds, which can be helpful to watch the progress of these metrics over time.

More Information

For more information on these arguments, and on using CFStat in gneral, see the Adobe documentation, specifically this page. While that page is in the CF9 docs, the concepts apply just as well to CF 8 (or 7 or 6 and even older versions of CF.) It's an "oldie but a goodie".

Tips/Traps

  • To use CFStat, it must be enabled in the ColdFusion Administrator, by way of a checkbox on the bottom of the ColdFusion Debugging Output page. (It does NOT require that ColdFusion Debugging Output be enabled. It also does NOT require a restart of CF, despite the message shown on the page when it's changed. Perhaps some feature on that page does require a restart, but not this setting.)

  • Unfortunately, CFSTAT is NOT supported on the MultiServer form of CF deployment. (To be clear, it IS available on ColdFusion Standard and also on ColdFusion Enterprise, but only the Server form of deployment, not MultiServer.) You may want to consider using the JRun Metrics instead, which offer some of the same (and in some ways more, some ways less) information. Of course, those on CF 8 or 9 Enterprise can also use the ColdFusion Server Monitor. Even so, there's value in using CFSTAT even for those with access to that more powerful ColdFusion Monitor (or others like it).

  • Note also that CFStat communicates with the CF server listening on a particular port by default, and if that default port value has been changed on the server (in the neo-metrics.xml file), that can be indicated on the CFStat command with the -port argument. There was in fact a bug related to problems with the port specication and related XML entries, seemingly related to upgrading to CF8. For more information on that, see this blog entry.

  • Beware, also, that for those columns that show "averages", they are not likely what you'd expect. For instance, if you use CFSTAT 5, to refresh the display every 5 seconds, the average is NOT the average over 5 seconds. The average columns are ALWAYS only the average of the last two COMPLETED requests. (This is true whether you use a number for CFSTAT or not.) The AVG columns always and only represent the results of the last two competed requests.

  • It's significant to note the point about "completed" requests. This means that it DOES NOT reflect the time spent on requests that are still running (long-running). And so the averages are not particularly effective, especially with respect to telling you if/when you might expect the average response time to rise because of long-running requests.