Web servers and their associated application environments are designed to simultaneously handle multiple requests from browsers. Given this, the initial idea of many new Web administrators is to allow far too many simultaneous connections .. Although at first this seems logical (after all, allowing a large number of simultaneous
requests should mean that most incoming requests will be answered and processing will start as soon as they arrive), too many simultaneous request can overload a system’s resources, rendering performance so poor that all the requests being handled take an interminably long time to finish. By limiting the simultaneous requests being handled to a reasonable number, sufficient resources are then available to handle all the requests. Meanwhile, new requests are queued until the current number of requests being processed drops below the limit. Consider a hypothetical example: You have a server capable of handling five simultaneous requests comfortably and completing them in an average of 10 milliseconds per request. At the same time, if the system is asked to handle 10 simultaneous requests, performance drops dramatically and each requests now takes 100 milliseconds to complete. If you allow 10 simultaneous requests and 10 do arrive at the same time, then all of
them will take 100 milliseconds to complete. The first completes in 100 milliseconds at roughly the same time the tenth is done. However, if you limit the number of simultaneous requests to five, the first five are immediately processed and the remaining five
are queued up. Table 35.1 shows roughly when each request is completed relative to the time that all the requests arrive.
TAB L E 3 5 . 1: The Effect of Limiting Simultaneous Requests
Request Completion Time
2 10 milliseconds
3 10 milliseconds
4 10 milliseconds
5 10 milliseconds
6 20 milliseconds
“7 20 milliseconds
8 20 milliseconds
9 20 milliseconds
10 20 milliseconds
Notice that all the requests are completed at least 80 seconds earlier than they were when 10 simultaneous requests were allowed. This example is an exaggeration of the reality of hardware and software performance ‘- on most Web servers, but it clearly illustrates that increasing the number of simultaneous requests allowed on a ColdFusion server does not guarantee better performance but can instead drastically reduce performance.
Unfortunately, simple formula cannot tell you how many simultaneous requests to allow. If performance on your server is suffering and analysis of the Application. Log file suggests this is related to the numbers of simultaneous requests or the length of time requests take to complete, then you should try adjusting this value to see whether it has any effect. If you see large numbers of simultaneous requests in the log, try reducing the value to see whether pages return any faster. If you have pages that, even when they are the sole request, take a long time to complete, try increasing the value slightly so that other, quicker templates can be processed while the longer ones are running.