--
You received this message because you are subscribed to the Google Groups "FusionReactor" group.
To unsubscribe from this group and stop receiving emails from it, send an email to fusionreacto...@googlegroups.com.
To post to this group, send email to fusion...@googlegroups.com.
Visit this group at http://groups.google.com/group/fusionreactor?hl=en.
For more options, visit https://groups.google.com/groups/opt_out.
I’ll offer some thoughts on Ajas’s helpful comments, then some more thoughts for Annie. (Pardon the long note, but as has been reflected in the first two notes, this stuff isn’t always as obvious as it might seem it should be.)
First, Ajas, when you propose doing a delay via the SQL statement, WAITFOR DELAY, I would propose that a better delay (in a CFML page) would to use the sleep function (http://www.cfquickdocs.com/cf9/#sleep) which takes a number of milliseconds for a thread to go to sleep. It uses no CPU or other resources (whereas a SQL WAITFOR DELAY ties up a DB connection—and also is SQL Server-specific.)
Second, Ajas, you say “Note, since you have set Maximum number of simultaneous Template requests 10, that means in the queue of max 20, you could have only 10 cfm requests.” I’m not sure what you mean there. If she changed the max simult requests value from 10 to 20, that should indeed allow 20 to run at once.
Also, lest anyone reading Ajas’ comment about application pools might misconstrue things (“For our windows server 2003, iis 6.0, the Maximum Number Of Worker Processes is 1, yes positive 1”), while he surely knows this, let’s clarify for readers that that does NOT correspond directly to running requests: 1 pool is indeed the default, but that could let in hundreds of simultaneous requests if CF was told to allow that.
But thanks for mentioning my blog entry about how sometimes IIS could be the limiter, especially a problem in CF9 and IIS where by default only 25 max requests can run at once. But since Annie says she “never gets over 15 active requests”, that’s clearly not the issue.
Now, Annie, when you say that according to FR CF “never gets over 15 active requests”, let’s clarify that you could be running hundreds of requests in a few second span, and still not hit 15 simultaneous, if they are all fast. The more important question, in FR, is to correlate what you see (the top left graph of the FR System Metrics page, I assume) with the lower left graph, which shows request response time. If you have no long-running requests, then you would not necessarily be hitting any “limit”. You just may not have pushed enough traffic to stress your CF so that FR *did* show more than 15 ever running.
But Ajas also mentions queuing, noting you don’t mention anything about that. Now, there are 2 kinds of queuing: that in CF (when you DO hit the CF Admin Request Tuning limits you mentioned), and that in FR, if you turn on FR’s Crash Protection, and tell it to start queuing requests once a given limit is reached.
I’d start by asking if that may be what’s happening for you: do you have the FR Crash Protection set to queue requests? If so, that could indeed be artificially limiting your requests.
If you don’t have that enabled, then while I would not suspect you’re hitting CF’s queuing, since you don’t show hitting the limit, there is a possibility. There are those 4 kinds of requests (the Request Tuning settings, changeable in CF Enterprise, Developer, or Trial). FR doesn’t currently distinguish those 4 types. So you could be hitting a limit with one of the types of requests, and it would not be clear in FR. And it could be that when one type of request type is queued, that other requests (of other types) then are held up. It could happen. :-)
But here’s some good news: you CAN get FR to track CF request queuing (of all 4 types of requests) if you add the free “FusionReactor Extensions for ColdFusion”, or FREC, available at http://www.fusion-reactor.com/fr/plugins/frec.cfm. It causes FR to grab that (and lots of other great info) from CF, and it logs it into new logs in the FR logs directory. Most important, look at the realtimstats.log, which has columns for tracking CF request queuing, of all 4 types (more at http://docs.intergral.com/pages/viewpage.action?pageId=9928727).
Hope that helps.
/charlie
From: fusion...@googlegroups.com [mailto:fusion...@googlegroups.com] On Behalf Of Ajas Mohammed
Sent: Friday, April 12, 2013 4:49 PM
To: fusion...@googlegroups.com
Subject: Re: [fusionreactor] Can't get over 15 max concurrent users
I will let experts answer this but here is my take.
First of all, lets clear the confusion between requests and users. 1 user can be running 10 different .cfm pages, so its important to identify first, how many total requests (cfm or cfc calls) are actually being made or running at that time. For debugging purposes, I would say, pick 6 users, and let them run 5 different .cfm pages, so 6 x 5 = 30 requests. Note, i say cfm, because as per your setting, you are saying, only 1 CFC can run, 1 webservice. Also, put a delay on those pages (via sql wait delay WAITFOR DELAY 'HH:MM:SS'), so they show up on running requests, because I am wondering if they are already being processed when you look at FR.
The Maximum number of simultaneous Template requests 10, Maximum number of simultaneous Flash Remoting requests 1, Maximum number of simultaneous Web Service requests 1, Maximum number of simultaneous CFC function requests 1. So if you add up it comes to (10+1+1+1) 13 total requests. Now you say, you increased Maximum number of simultaneous Template requests 20. Note, since you have set Maximum number of simultaneous Template requests 10, that means in the queue of max 20, you could have only 10 cfm requests. So again, make sure, what you are running, cfm, webservice calls, or cfc which you have restricted already. You dont mention anything about queued requests. Or maybe IIS is request queuing based of max worker processes rather than CF.
What is the application pool setting for Maximum Number Of Worker Processes? What version of Windows ? IIS version ? For our windows server 2003, iis 6.0, the Maximum Number Of Worker Processes is 1, yes positive 1. Without knowing your exact environment and setup, it would be tough to tell.
I have never seen this before JRun Master Request Limits, Maximum number of running JRun threads -1 Maximum number of queued JRun Threads -1.
Charlie has a good article here http://www.carehart.org/blog/client/index.cfm/2011/2/2/iis_request_execution_limits
Just trying to help you. Charlie is great resource for these things or even FR folks.
Guys correct me If I misstated anything.
Thanks,
<Ajas Mohammed />
Second, Ajas, you say “Note, since you have set Maximum number of simultaneous Template requests 10, that means in the queue of max 20, you could have only 10 cfm requests.” I’m not sure what you mean there. If she changed the max simult requests value from 10 to 20, that should indeed allow 20 to run at once.
Thanks, and good point about CFSTAT. I do usually point that out as another way to monitor CF queuing. I just was pressed for time earlier so forgot to mention it. ;-)
/charlie
From: fusion...@googlegroups.com [mailto:fusion...@googlegroups.com] On Behalf Of Ajas Mohammed
Sent: Saturday, April 13, 2013 12:46 AM
To: fusion...@googlegroups.com
Subject: Re: [fusionreactor] Can't get over 15 max concurrent users
On Fri, Apr 12, 2013 at 8:29 PM, Charlie Arehart <charli...@carehart.org> wrote:
Second, Ajas, you say “Note, since you have set Maximum number of simultaneous Template requests 10, that means in the queue of max 20, you could have only 10 cfm requests.” I’m not sure what you mean there. If she changed the max simult requests value from 10 to 20, that should indeed allow 20 to run at once.
Hmmm. I can't seem to find cfstat. I don't see it as an option to enable on Debugging & Logging > Debug Output Settings and I have Enterprise and I've clicked on a bunch of folders and can't find it. Where should it be located?
Mine doesn't have that (screenshot attached). How about for CF9 Enterprise. There is no ColdFusion9/bin folder. There is a JRun4/bin folder, but there's no cfstat that I can see.