Windows NT 109, Windows NT 232 errors are reported in the server log
This article applies to users experiencing Windows NT 109 and Windows NT 232 error messages in their Server Logs. These errors are benign but indicate a performance problem with your web site. This TechNote describes possible causes for these errors and how to troubleshoot them.
The error messages typically occur in one of the following ways:
For Windows NT error number 109: The pipe has been ended
For Windows NT error number 232: The pipe is being closed
These error messages generally occur when the user hits the Back or Refresh button in their browser. The error messages are benign, but can indicate one of the following problems:
- The pages are not performing very well.
- The website has too much load.
- The database you are connecting to is down or unresponsive.
- Users are waiting longer than their level of tolerance (longer than x seconds) for the website to load in their browsers.
ColdFusion Server uses a pipe to connect to the database. If the database is down and not taking requests, or is unresponsive, ColdFusion Server will not be able to access the database. Instead, it writes the 109 and 232 error messages in the Server log. In the case of socket-based connections, the user may also experienceConnection reset by peer errors for the same reason. Likewise, Unix users may experience a similar error: Error 104 Connection reset by peer.
Solution:
Although the error messages are benign, they indicate a performance issue caused by coding within the website. Most importantly, you should log slow running pages. This will allow you to determine the exact blocks of code responsible for the long run time.
- Enable the logging of slow or unresponsive pages in your ColdFusion Administrator.
- Determine whether the long running page should run as long as it is running. For instance, queries should take no longer than 300ms to run. Ideally, they should run 10-100ms for the web environment. If you have queries that are taking longer to run, optimize them with the help of a database administrator.
- Use the
gettickcount()function to time a particular section of the template. You can use this function, for instance, to figure out if an included template is taking a long time to process compared to its calling template. - For pages that should run long for appropriate reasons, append the following query string to the URL, such as
?requesttimeout=xxx, where xxx is the amount of seconds allotted for the page to timeout.
Additional Information
Related TechNotes:
- ColdFusion Tech Tips (TechNote 17462)
- ColdFusion performance debugging (TechNote 17215)
- Platform-specific performance settings (TechNote 17277)
This content requires Flash
To view this content, JavaScript must be enabled, and you need the latest version of the Adobe Flash Player.
Download the free Flash Player now!
