Skip to main content
kevinn83648471
Participant
April 29, 2015
Question

Known causes for concurrent request limits in CF 9?

  • April 29, 2015
  • 1 reply
  • 404 views

Hello,

 

I am looking into a concurrent requests issue that has just recently come to my attention with ColdFusion 9. It appears that ColdFusion can only process 12 requests at the same time using windows launched from one browser (IE 11) from one client computer. I launch 30 instances of a page that writes a file then sleeps for 30 seconds. I notice that 12 files are written at once, then more come in waves after the sleeps are complete. This is with ColdFusion 9 set to run a max of 50 requests, no limits on requests for IIS, and no limits on requests for the browser. After some searching, I read that request queuing can be caused by memory management or the aforementioned setting. With this, I have a few questions:

 

  • Is this a known limitation on ColdFusion? If so:
  • Is memory or processor power the limiter?
  • Are there any other ColdFusion or IIS settings that be tweaked to increase the number of requests?
  • Is there a “per client” limiter in place?
  • Would using ColdFusion 11 remedy this?
  • Would using an enterprise vs a standard license remedy this?

  

Thanks.

    This topic has been closed for replies.

    1 reply

    Inspiring
    April 30, 2015

    If you are using cfthread to do this then you will have restrictions when using CF Standard edition. There is a limit to the amount of threads it will execute at one time. The result can depend on your code as well. Do you have an example of the code you are using to test this?

    kevinn83648471
    Participant
    April 30, 2015

    I am not using cfthread for this. The test script I am running goes as follows, each with a random different url parameter. 30 instances are opened quickly and sequentially with javascript with window.open:

    <cfparam name="randomToken" default="">

    <cfset foo = GetTickCount()>

    <cffile action="write" file="#randomToken#.txt" output="#foo#">

    <cfset Sleep(20000)>

    Inspiring
    May 1, 2015

    The sleep() function is just short hand for cfthread with the sleep action. I believe it still has the same restrictions when using standard version.

    The easiest way to check this is to run your code using the development edition. This allows you to test locally with all the features of Enterprise. If you see a difference in result then your problem is the restriction caused by standard edition.