We've been seeing this behavior as well. In our case, it's on a production
system. It appears that a couple of long running requests are causing
threads to pile up. At some point -- usually very quickly -- IIS quits
answering requests.

We are able to reproduce the behavior by launching a very long running,
fairly CPU intensive process. Specifically, we run a template which zips up
a few gigs of log files.

This template is not the source of the problem normally, but it has helped
us troubleshoot the issue. If we run the template and then run cfstat, we
can watch the requests pile up and the average time taken grow. Meanwhile,
we monitor long running page requests (over 15 seconds) by tailing the
server.log file.

What seems odd is that, though the long running request consumes between 25%
and 50% CPU as it zip log files, there would seem to be enough resources
left for other pages. That is not the case, apparently. Pages that normally
execute in milliseconds may take 15 seconds or more.

Anyway, we're monitoring the log files for long running requests and fixing
pages that take more than 15 seconds to execute. So far so good. The server
has been running since last Friday without crashing. Believe it or not,
that's a recent record.

To give you an example of the kind of stuff we're finding, in one case, a
developer had apparently tried to perform a naïve optimization by executing
a <cfflush> with every loop iteration. Instead of taking 1 second to run the
loop outright, it took 30 seconds. I'm sure the <cfflush> made the page seem
to return more quickly from his remote location.

These fixes are easy enough and they seem to produce good results. However,
I'm still at a loss to explain the train wreck behavior. Why does a single
long running process take down an entire server when there would seem to be
resources left to handle additional requests?

Ben Rogers
http://www.c4.net
v.508.240.0051
f.508.240.0057

> -----Original Message-----
> From: Kazmierczak, Kevin [mailto:[EMAIL PROTECTED]
> Sent: Tuesday, January 11, 2005 3:06 PM
> To: CF-Talk
> Subject: Debugging Server Hangs
> 
> What does everyone do about tracking down pages/code that cause the cf
> server to slow down or hang and you are left with restarting the
> services/ machine to solve it?
> 
> 
> 
> Every once in a while our CF server comes to a crawl or get a "JRUN
> closed connection" error.   Looking in the log files doesn't give too
> much information.  Wouldn't it be nice if there was a "CF Profiler" like
> the SQL Server "SQL Profiler" to see what code was being processed and
> such?
> 
> 
> 
> What does everyone else do about this?
> 
> 
> 
> Kevin.
> 
> 
> 
> 

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~|
Discover CFTicket - The leading ColdFusion Help Desk and Trouble 
Ticket application

http://www.houseoffusion.com/banners/view.cfm?bannerid=48

Message: http://www.houseoffusion.com/lists.cfm/link=i:4:190093
Archives: http://www.houseoffusion.com/cf_lists/threads.cfm/4
Subscription: http://www.houseoffusion.com/lists.cfm/link=s:4
Unsubscribe: 
http://www.houseoffusion.com/cf_lists/unsubscribe.cfm?user=11502.10531.4
Donations & Support: http://www.houseoffusion.com/tiny.cfm/54

Reply via email to