我使用 ExtJS 和 ASP.NET 开发了一个页面。该页面有多个小部件。每个小部件在加载时发送多个 AJAX 请求。我假设每个 AJAX 请求都在一个新线程上运行。我只想明白:
- 允许从单个窗口运行多少个这样的线程?一个浏览器可以向服务器发送多少个请求,而无需在浏览器本身排队。我知道请求可以根据各种参数在服务器端排队。
- 这种行为是否会从浏览器更改为浏览器?
- 有没有办法跟踪活动请求的数量?
我不是在谈论可以在服务器端运行的线程数。我不是在谈论服务器可以处理的请求数。
我使用 ExtJS 和 ASP.NET 开发了一个页面。该页面有多个小部件。每个小部件在加载时发送多个 AJAX 请求。我假设每个 AJAX 请求都在一个新线程上运行。我只想明白:
我不是在谈论可以在服务器端运行的线程数。我不是在谈论服务器可以处理的请求数。
允许从单个窗口运行多少个这样的线程?
这取决于您的服务器的硬件功能和配置。
这种行为是否会从浏览器更改为浏览器?
不。
有没有办法跟踪活动请求的数量?
微软
http://msdn.microsoft.com/en-us/library/bb386420(v=vs.100).aspx
示例和提示
服务器通常可以同时处理多个请求,即使线程数很少。
在 IIS 上,您可以使用
<system.web>
<applicationPool maxConcurrentRequestsPerCPU="50" maxConcurrentThreadsPerCPU="0" requestQueueLimit="5000"/>
</system.web>
参考:微软最佳实践
在使用 javascript 的浏览器上,您应该知道 javascript 没有任何多线程功能。
对服务器的同时 ajax(或其他)请求的数量取决于浏览器。通常每个域名允许 2、6、8 个线程。这不应该打扰你太多,因为其余的将排队。