【问题标题】:Same ASP.Net application - Multiple IIS Sites相同的 ASP.Net 应用程序 - 多个 IIS 站点
【发布时间】:2010-12-29 01:55:53
【问题描述】:

一个快速的 ASP.Net 性能问题...

我有一个 ASP.Net 3.5 SP1 应用程序,我想在 IIS 6 上运行。出于 SSL 证书的原因,我需要在 IIS 中的不同站点上运行它。这是一个 CMS,一些客户端需要添加自己的 SSL 证书。

1) 我可以在 IIS 的多个站点上的磁盘上运行同一组 ASP.Net 文件还是需要镜像它们?

2) 在性能方面我需要考虑哪些因素,例如每个站点都有多个数据库连接?还是他们会被“汇集”?!另外,我正在使用 Linq to SQL 并使用 ASP.Net 的缓存来缓存结果。为每个具有基本相同数据的 IIS 站点设置单独的缓存是否会产生开销?此方案是否还有其他性能或应用程序设计注意事项?

3) 在同一个 App Pool 下运行 IIS 站点有什么不同吗?

或者有没有人有完全不同的建议?

您可以提供任何指导,我们将不胜感激。我在这里寻找尽可能多的不同意见和经验,所以如果你能提供帮助,请添加答案。

干杯, 蒂姆

【问题讨论】:

    标签: asp.net performance iis caching multiple-sites


    【解决方案1】:

    我同意为同一个应用程序运行不同的网站是没有意义的。

    您可以使用 IIS 管理器在网站中设置 SSL 端口。如果不设置 IIS 要求证书,部分用户可以使用 HTTP 版本而不会出现证书错误,而其他用户可以使用 SSL。

    【讨论】:

      【解决方案2】:

      如果您只需要管理一个 IIS 站点,则维护会容易得多。更有效的方法是在其他地方处理 SSL 问题(例如,硬件负载平衡器、内容切换器、Apache 盒子等),并反向代理到运行单个应用程序版本的单个 IIS 实例。共享应用程序池将无济于事(假设您仍然将 SQL Server 与托管客户端一起使用),因为每个 Web 应用程序都有自己的 Appdomain,因此也有自己的连接池。共享应用程序池会导致它们共享一个进程,而不是一个应用程序域。

      我之前通过将 Apache 安装在与 IIS 相同的机器上,仅侦听端口 443(尽管需要许多 IP/证书组合),然后将 Apache 设置为反向代理同一台机器上的 IIS 仅在端口 80 上侦听(但对于任何主机标头)。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2021-04-05
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多