如果我创建一个Web应用程序并将其托管在Windows Server上,那么根据我的理解,IIS会处理初始请求并将其路由到相应的网站或应用程序。我的印象是为每个应用程序创建了一个w3wp.exe(工作进程)实例。 IIS与工作进程一起使用,而工作进程又与Web应用程序一起使用。
如果应用程序每秒获得20个请求,会发生什么? 工作进程是否会创建应用程序的20个实例来处理每个请求,或者它会将请求排队到应用程序的单个实例中吗?
我怀疑是后者。如果是这种情况那么我是否正确地认为工作进程会在收到请求时保持应用程序存活?
我正在尝试完全理解Web应用程序在处理许多并发请求时所执行的操作。我之前尝试过问这个问题,但是对措辞很挣扎,所以希望这是有道理的。
修改 感谢梅森,我意识到答案就在我面前! Web应用程序使用DLL,它们不能自己运行。它是调用DLL来处理请求的w3wp.exe(工作进程)。
答案 0 :(得分:3)
每个网站的工作进程数在应用程序池高级设置中控制(在IIS管理控制台中)。
每个worker可以处理的并发请求数的配置取决于IIS版本。在IIS 7位于同一位置,对于更新版本,您必须检查machine.config
(寻找maxWorkerThreads
)