Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
930 views
in Technique[技术] by (71.8m points)

concurrency - how many concurrent requests settings for IIS 8.5

How many concurrent requests can be executed in IIS 8.5?

I could not find proper values for how many concurrent requests can be executed in IIS 8.5

As I found out below 2 different values:

  1. By default IIS 8.5 can handle 5000 concurrent requests as per MaxConcurrentRequestsPerCPU settings in aspnet.config

  2. In machine.config, the maxconnection is 2 per CPU as default. So if have 6 core CPU then 12 concurrent requests are possible by default.

So I would like to know that Point 1 is right or Point 2 is right for concurrent requests for IIS 8.5.

See Question&Answers more detail:os

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Reply

0 votes
by (71.8m points)

Assuming that you are using ASP.NET application, the concurrent requests executed can vary based on the way the application code is written and the framework version you are using to run the application(2.0,3.5,4+ etc). Also You are confusing with max connect with concurrent requests.Both are two different things.

For more detailed understanding please read msdn blog ASP.NET Thread Usage on IIS 7.5, IIS 7.0, and IIS 6.0 .

To summarize

  1. MaxConcurrentRequestsPerCPU within HKEY_LOCAL_MACHINESOFTWAREMicrosoftASP.NET2.0.50727.0 determines the number of concurrent requests per CPU. By default, it does not exist and the number of requests per CPU is limited to 12

  2. If your asp.net application is written entirely asynchronous requests, the default MaxConcurrentReqeustsPerCPU limit of 12 is less and increasse this setting MaxConcurrentRequestsPerCPU to a very high number.

  3. in v4.0, the default for MaxConcurrentRequestsPerCPU to 5000

Maxconnection is the setting per HTTP protocol.Any applicaion can only make two concurrent requests to any server.e.g. Your browser(IE 6,7) can make only two connection to your www.example.com. But for speed improvement ,many of the browsers currently make more than 6 simultaneous connections (vary in chrome,firefox and IE).Similarly when your server application make a request to a webservice or a rest API,the client is your application and maxconnection enforces that for the same server(rest end point),you are allowed to make only two connections .

To increase maxconnection in an ASP.NET application, set System.Net.ServicePointManager.DefaultConnectionLimit programatically, from Application_Start, E.g. You can set this to Int32.MaxValue

Hope this helps!


与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
OGeek|极客中国-欢迎来到极客的世界,一个免费开放的程序员编程交流平台!开放,进步,分享!让技术改变生活,让极客改变未来! Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Click Here to Ask a Question

...