HTTP.sys请求队列与IIS应用程序池之间的关系
我从HTTP.sys请求队列与IIS应用程序池之间的关系,iis,iis-7,Iis,Iis 7,我从 HTTP.sys为每个工作进程维护一个请求队列。它将HTTP请求发送到为请求的应用程序所在的应用程序池提供服务的工作进程的请求队列。 对于每个应用程序,HTTP.sys使用一个条目维护URI命名空间路由表。路由表数据用于确定哪个应用程序池响应来自命名空间哪些部分的请求。每个请求队列对应一个应用程序池和应用程序池对应于HTTP.sys中的一个请求队列和一个或多个工作进程。 粗体部分把我弄糊涂了。 我的理解是:HTTP.sys为每个工作进程提供一个请求队列。应用程序池可以有一个或多个工作进程。
这是不正确的1个应用程序池=1个工作进程我正在努力解决同一个问题。。。但我认为过程如下:
如果没有工作进程可用,则请求存储在应用程序队列中。HTTP.sys现在将通知WAS(通过WWW服务)一个新请求已添加到队列中。WWW服务将要求WAS提供工作进程。WAS将生成一个应用程序池,并让WWW知道已经创建了一个应用程序池。现在,WWW可以将请求传递给相应的工作进程(通过将其添加到队列)。然后WWW会让HTTP.sys知道一个工作进程已经生成,所以下一个请求HTTP.sys可以以IMM方式转发该请求
我不完全确定这在技术上是否完全正确,因此如果有人能够纠正/确认这一点,那就太好了我正在为同样的问题挣扎。。。但我认为过程如下:
如果没有工作进程可用,则请求存储在应用程序队列中。HTTP.sys现在将通知WAS(通过WWW服务)一个新请求已添加到队列中。WWW服务将要求WAS提供工作进程。WAS将生成一个应用程序池,并让WWW知道已经创建了一个应用程序池。现在,WWW可以将请求传递给相应的工作进程(通过将其添加到队列)。然后WWW会让HTTP.sys知道一个工作进程已经生成,所以下一个请求HTTP.sys可以以IMM方式转发该请求
我不完全确定这在技术上是否完全正确,因此如果有人能够纠正/确认这一点,那就太好了要讨论书中的段落,你应该提供更多信息 本段来自“IIS 7.0核心组件”部分,Safari Books Online的版本与您粘贴的版本不同 HTTP.sys为每个工作进程维护一个请求队列。它发出 它接收到的HTTP请求发送到工作进程的请求队列 为应用程序池提供服务的进程,其中 应用程序位于。对于每个应用程序,HTTP.sys维护 具有一个条目的URI命名空间路由表。路由表数据为 用于确定哪个应用程序池响应来自的请求 名称空间的哪些部分。每个请求队列对应一个 应用程序池应用程序池对应于一个请求队列 在HTTP.sys和一个或多个工作进程中。 所以最后一句应该理解为
- 应用程序池对应于http.sys中的一个请求队列
- 应用程序池对应于一个或多个工作进程
标记构造该表。那里