ColdFusion Muse

A Case for a Higher Default "Simultaneous Request" Setting

Mark Kruger May 4, 2006 6:45 PM Coldfusion Optimization, Coldfusion MX 7 Comments (3)

In a technote titled Coldfusion Performance Tuning that was last updated on March 7th 2003, the following advice was given regarding the "simultaneous request" setting in the Coldfusion administrator. The writer indicates that this setting has the largest impact on scalability, and then goes on to recommend a setting of 3 times the number of processors as a "starting point". This number has been oft stated as the "rule of thumb". I've heard as 2 to 3 requests per processor and I've often heard the number of 4 to 5 per processor, although I was unable to locate that recommendation in any online documents. I think this baseline recommendation should be changed to as high as 7 to 10 per processor for a CFMX server on a modern server (P4 or Xeon).

I have yet to see a fast server breath hard at the lower levels. In our experience new servers with fast processors can handle a larger thread pool than the old P3's that were far more common in 2003. I would add that in my view, CFMX has always been able to manage a higher value in this setting than CF 5. Most of our dual processor P4 servers have a setting of 16 to 18 in this field without any degradation in performance. Perhaps separate recommendations based on processor speed would be in order.

Something else to keep in mind is that if you are running dual core processors you can effectively increase this number and handle even more threads. Robi Sen made a similar point to me the other day. He also made the observation that the server tasking is a factor to consider. A web server that services thousands of small requests per minute will benefit from this setting more than one that services a lighter traffic load, but handles very long "heavy lifting" type requests.

Also remember that multi-server instances handle this item differently. It is actually the Jrun settings and not the CF Admin settings that dictate thread usage. At least that's my take from Steve Erat's blog entry titled, Simultaneous Requests in CF 7. In any case, I've been recommending a higher number as a starting point for this setting for some time now with good success. As always (and before you say it) the best way to determine the right setting for you is to load test through gradual changes. Happy tuning.

  • Share:

3 Comments

  • monkeywoo's Gravatar
    Posted By
    monkeywoo | 5/11/06 8:45 AM
    Nice article, it's good to find useful comment on this issue.

    We have 3 cf servers running in a JRun cluster with 2 dual-core intel 3.2Ghz Xeon processors and 3.5 gig of RAM and have our max simultaneous requests normallyl set to 20.

    We tried setting the value to 30 but found that it 'broke our websites' so we are sticking to 20 which seems to be about optimal for our setup.
  • robi's Gravatar
    Posted By
    robi | 7/3/06 10:15 AM
    You need to test whatever you do with real load testing. This is the only way to acutally figure out what your settings should be.
  • Wil's Gravatar
    Posted By
    Wil | 9/21/06 10:33 AM
    We are running one of the nations largest MLS Search engines from a single server. This is a power house machine running dual Xeons with hyperthreading. This gives the machine an effect 4 cpu's. We are running with simultaneous requests set to 100. On a normal basis we have an steady useage of 10 simultaneous requests per second with spikes up to 30, 50 or more. We believe that 100 is a fine number for now. As our service usage increases ( currently at 1,141,524 page views per day and 4,359,840 hits per day) beyond the current levels we may find a need to increase that. BTW: the cpu usage on average at peek is around 65 to 70 percent.