Web Garden

Web Garden 是 IIS 6.0 引入的另外一个概念,在 IIS 7.0 中,这个概念仍然有效。利用这个概念,可使用多工做进程来处理同一个应用程序池。数据库

Web Garden 能够有效地提升系统性能,并具备如下优点:服务器

(1)当一个工做进程由于集中关注处理某事而没法完成其余处理任务时,其余工做进程仍然可以处理新的请求。ide

(2)减小了资源的争用。在正常操做过程当中,每一个新的页面请求都被指派给一组工做进程中的某个进程,指派时,咱们使用轮询方式完成指派工做。这样就可使工做进程的工做负载尽量地平滑。性能

由于一个单独的应用程序老是在被分割后以多个进程为载体运行,所以,一个应用程序中共享的内容必须保存在进程以外。例如,在一个 Web garden 中,会话状态在进程内是没法工做的,由于在一个Web garden 中存在会话状态的多个副本,每一个进程均可以读写某个会话状态,并将这个会话状态保存在不一样的会话状态存储区。进程

某些 Web 应用程序更适合使用 Web Garden。如下是使用 Web Garden 的最佳实践指南:内存

(1)Web 应用程序不该该是一个须要消耗大量 CPU 资源的应用程序,这是由于,令一个须要消耗大量 CPU 的页面请求与一个首次访问页面的请求争用 CPU 资源,只会致使两败俱伤。资源

(2)若是一个应用程序同步延迟比较高,那么这个应用程序就比较适合于 Web Garden。例如,若是应用程序调用了一个 Web 服务或者访问了一个远程数据库,从而致使系统响应迟缓,那么利用 Web Garden,咱们就能够在等待长时间执行的应用程序完成处理工做的过程当中,处理其余请求。同步

(3)每一个进程都存在内存负担,启动时须要额外的时间开销,这类进程若是太多,那么就很容易耗尽一台服务器的资源。it

尽管 Web Garden 和 Web farm 存在某些共同特征,可是,Web Garden 和 Web farm 是彻底不一样的概念。Web Garden 是由运行于一台服务器中的多个进程组成的,这些进程用于处理同一个应用程序池;而Web farm 则是由多台服务器组成,这些服务器能够协同工做,提供较高的可用性和较好的可伸缩性。class

相关文章
相关标签/搜索