简体   繁体   English

iis中具有单独应用程序池的多个子Web应用程序

[英]Multiple child web applications with seperate app pools in iis

I have created a new configuration in IIS 7.5 for an app using .NET 4.5. 我已经在IIS 7.5中为使用.NET 4.5的应用程序创建了新配置。 The new setup appears to enhance the management of web applications. 新设置似乎增强了Web应用程序的管理。

Orginal Configuration 原始配置

WebRoot
    --WebAppA1112
    --WebAppA1213
    --WebAppA1314
    ... 
    --WebAppB1112
    --WebAppB1213
    --WebAppB1314

New Configuration 新配置

WebRoot
    --WebAppA
        --1112
        --1213
        --1314
    --WebAppB
        --1112
        --1213
        --1314

In essence I am just reorganizing the "versions" of the application under a root application so I can handle common web configurations at a root level. 本质上,我只是在根应用程序下重新组织应用程序的“版本”,因此我可以在根级别处理常见的Web配置。

I have two questions: 我有两个问题:

  1. Is there any performance issues with the new setup? 新设置是否存在性能问题?
  2. Is it safe to configure the root application with it's own app pool and have all sub applications use separate app pools also? 用其自己的应用程序池配置根应用程序是否安全,并且所有子应用程序也使用单独的应用程序池吗?

A performance is something subjective and that one you should measure yourself. 表演是一种主观的东西,您应该衡量自己。 By placing each application in a seperate pool, you ensure that potential problems with one application do not cause problems with other applications. 通过将每个应用程序放在单独的池中,可以确保一个应用程序的潜在问题不会引起其他应用程序的问题。 On another hand, each application pool is an instance of w3wp.exe, therefore to serve more pools you need more RAM. 另一方面,每个应用程序池都是w3wp.exe的一个实例,因此,要为更多的池提供服务,您需要更多的RAM。 So, it's a trade-off between security and hardware restrictions. 因此,这是安全性和硬件限制之间的权衡。

"Child" app pools are isolated from "root" pools and every application that has its own application pool, doesn't inherit any other application pool. “子”应用程序池与“根”池隔离,并且每个具有自己的应用程序池的应用程序都不会继承任何其他应用程序池。 If root and child applications have different configuration or root application is mission-critical and child applications might have problems (such as memory leaks) then it makes sence to use dedicated application pools, otherwise you could consider to use a shared pool for all. 如果根和子应用程序具有不同的配置,或者根应用程序是关键任务,并且子应用程序可能存在问题(例如内存泄漏),则必须使用专用的应用程序池,否则,您可以考虑对所有应用程序使用共享池。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM