Asp.net 如何在webfarm中创建webgarden

Asp.net 如何在webfarm中创建webgarden,asp.net,c#-4.0,Asp.net,C# 4.0,我正在使用asp.net 4.0和C#,我的应用程序托管在web farm上,该web farm由2台服务器和负载均衡器组成。现在,我想在每台服务器上创建web garden,为应用程序分配多个进程(以提高应用程序性能)。是否可以在webfarm内创建web garden。如果可以,那么我需要做什么更改,所有asp.net控件和状态管理类会话应用程序,缓存工作正常,或者我需要为此做一些设置,请建议 谢谢如果您使用的是IIS 6,那么这将帮助您配置Web Garden 在IIS 6.0工作进程隔离

我正在使用asp.net 4.0和C#,我的应用程序托管在web farm上,该web farm由2台服务器和负载均衡器组成。现在,我想在每台服务器上创建web garden,为应用程序分配多个进程(以提高应用程序性能)。是否可以在webfarm内创建web garden。如果可以,那么我需要做什么更改,所有asp.net控件和状态管理类会话应用程序,缓存工作正常,或者我需要为此做一些设置,请建议


谢谢

如果您使用的是IIS 6,那么这将帮助您配置Web Garden

在IIS 6.0工作进程隔离模式下,应用程序池增强了 通过隔离应用程序和 为这些应用程序提供服务的工作进程。为了更大的利益 可靠性,您可以将应用程序池配置为 多个辅助进程。使用多个应用程序的应用程序池 工作进程称为Web花园。辅助进程在Web中进行处理 garden共享针对特定应用程序的请求 水塘如果一个辅助进程失败,另一个辅助进程可以继续 处理请求


如果您使用的是IIS 7,这将帮助您配置Web Garden。

从您拥有Web farm的那一刻起,Web Garden必须解决任何问题

Web场是指添加两台或更多计算机以运行实际上相同的内容

Web garder是指在一台计算机上为同一应用程序添加两个或多个工作进程

您需要注意的是数据的同步。两台计算机上以及每个工作过程中的数据必须相同。从您已经准备好web farm的那一刻起,我假设您在数据库上使用两台计算机共用的会话,因此相同的会话将用于web garden

我还假设,如果您使用数据库,这是两台计算机共享的,并且在写入数据时要注意同步

同步是在使用锁的线程内、使用互斥体的web花园内、使用计算机之间的公共互斥体文件名的web farm+web花园内或数据库的某些部分内完成的

如果不写入任何数据,则不需要公共会话数据库以外的其他同步。所有额外的想法,你必须注意这里是共同的数据

关于InProc的会议 如果使用Inproc会话,则会话将保留在每台计算机的内存中

现在,如果负载平衡注意将来自同一用户的所有呼叫发送到同一台计算机,它将工作


如果不进行负载平衡,请将来自同一用户的所有呼叫发送到同一台计算机,然后根据您的理解,同一用户可能有两个不同的会话数据,每台计算机上一个,由于会话保留在同一个cookie名称上,您可能会对会话造成混乱。

这篇文章很好,但我想知道,我已经为这个应用程序创建了web farm。如果我创建webgarden,那么它们对应用程序有什么缺点或限制?请回复。您是对的,我们正在使用sql进行会话,但我有一个问题,对于web表单,如果我在Proc中使用会话,它是否会工作?@Areeb我重播答案。我是一个web garden用户,最难想到的是池之间的同步。问题是很难调试和定位问题,您需要在需要它们的地方进行设计和思考。我们所有的问题都出现在网络上的多用户上,我们在开发计算机上看不到这个问题,至少现在是这样。