同一ASP.Net应用程序-多个IIS站点
一个快速的ASP.Net性能问题 我有一个ASP.NET3.5SP1应用程序,我想在IIS6上运行。由于SSL证书的原因,我需要在IIS中的不同站点上运行它。这是一个CMS,一些客户端需要添加他们自己的SSL证书 1) 我可以在IIS中的多个站点上的磁盘上运行同一组ASP.Net文件,还是需要镜像它们 2) 在性能方面,我需要考虑哪些因素,例如从每个站点建立多个数据库连接??或者他们将被“汇集”?!另外,我使用LINQtoSQL,并使用ASP.Net的缓存缓存结果。为每个具有基本相同数据的IIS站点提供单独的缓存会是一种开销吗?对于此场景,是否还有其他性能或应用程序设计方面的考虑因素 3) 在同一个应用程序池下运行IIS站点是否有任何区别 还是有人有完全不同的建议 如果您能提供任何指导,我们将不胜感激。我在这里寻找尽可能多的不同意见和经验,所以如果你能提供帮助,请添加一个答案 干杯,同一ASP.Net应用程序-多个IIS站点,asp.net,performance,iis,caching,multiple-sites,Asp.net,Performance,Iis,Caching,Multiple Sites,一个快速的ASP.Net性能问题 我有一个ASP.NET3.5SP1应用程序,我想在IIS6上运行。由于SSL证书的原因,我需要在IIS中的不同站点上运行它。这是一个CMS,一些客户端需要添加他们自己的SSL证书 1) 我可以在IIS中的多个站点上的磁盘上运行同一组ASP.Net文件,还是需要镜像它们 2) 在性能方面,我需要考虑哪些因素,例如从每个站点建立多个数据库连接??或者他们将被“汇集”?!另外,我使用LINQtoSQL,并使用ASP.Net的缓存缓存结果。为每个具有基本相同数据的IIS
如果您只需要管理一个IIS站点,那么Tim维护将更加容易。更有效的方法是在其他地方(例如,硬件负载平衡器、内容交换机、Apache box等)处理SSL问题,并在运行单一版本应用程序的情况下将代理反向到单个IIS实例。共享应用程序池不会有任何帮助(假设您正在将SQL Server与托管客户端一起使用),因为每个web应用程序都有自己的Appdomain,因此也有自己的连接池。共享应用程序池使它们共享一个进程,但不共享appdomain
我以前在廉价的情况下做到了这一点,将Apache安装在与IIS相同的机器上,只监听端口443(不管需要多少IP/cert组合),然后将Apache设置为同一机器上IIS的反向代理,只监听端口80(但不监听任何主机头) 如果您只需要管理一个IIS站点,那么维护将更加容易。更有效的方法是在其他地方(例如,硬件负载平衡器、内容交换机、Apache box等)处理SSL问题,并在运行单一版本应用程序的情况下将代理反向到单个IIS实例。共享应用程序池不会有任何帮助(假设您正在将SQL Server与托管客户端一起使用),因为每个web应用程序都有自己的Appdomain,因此也有自己的连接池。共享应用程序池使它们共享一个进程,但不共享appdomain
我以前在廉价的情况下做到了这一点,将Apache安装在与IIS相同的机器上,只监听端口443(不管需要多少IP/cert组合),然后将Apache设置为同一机器上IIS的反向代理,只监听端口80(但不监听任何主机头) 我同意为同一应用程序运行不同的网站是没有意义的
您可以使用IIS管理器在网站中设置SSL端口。如果不将IIS设置为需要证书,则某些用户可以使用HTTP版本而不会出现证书错误,而其他用户可以使用SSL。我同意,为同一应用程序运行不同的网站是没有意义的 您可以使用IIS管理器在网站中设置SSL端口。如果未将IIS设置为需要证书,则某些用户可以使用HTTP版本而不出现证书错误,而其他用户可以使用SSL