如何创建ASP.NET Web场?

Mik*_*hov 13 asp.net scalability web-farm

我正在寻找有关如何创建ASP.NET Web场的信息 - 也就是说,如何使ASP.NET应用程序(最初设计为在单个Web服务器上工作)在2,3,10等服务器上运行?

我们创建了一个Web应用程序,当有500个用户同时使用时,它可以正常运行.但现在我们需要让它适用于10 000个用户(同时使用Web应用程序).

因此,我们需要设置20个Web服务器,并通过在其Web浏览器中键入"www.MyWebApp.ru"来使10 000个用户可以使用Web应用程序,尽管他们的请求将由20个Web服务器处理,他们知道这一点.

1)是否有特殊的标准软件来创建ASP.NET Web场

2)或者我们是否应该通过手动(使用ASP.NET/C#)在不同Web服务器之间传输请求来自己创建Web场

我发现很少有关于ASP.NET Web场的信息和Web上的可伸缩性:在大多数情况下,有关可伸缩性的文章讲述了如何优化ASP.NET应用程序并使其运行得更快.但我没有找到在2个Web服务器上运行的"Hello world"类ASP.NET Web应用程序的示例.

如果有人可以发布文章的链接,或者更好地讲述自己在ASP.NET"web耕作"中的经验并解决可扩展性问题,那将会很棒.

谢谢你,米哈伊尔.

Ric*_*kNZ 6

1)是否有特殊的标准软件来创建ASP.NET Web场?

没有.

2)或者我们是否应该通过手动(使用ASP.NET/C#)在不同Web服务器之间传输请求来自己创建Web场?

没有.

要构建Web场,您需要某种形式的负载平衡.对于最多8台服务器,您可以使用内置于Windows的网络负载平衡(NLB).对于8个以上的服务器,您应该使用硬件负载平衡器.

然而,负载平衡实际上只是冰山一角.还有许多其他问题需要解决,包括:

  1. 状态管理(cookie,ViewState,会话状态等)
  2. 缓存和缓存失效
  3. 数据库加载(管理往返,分区,磁盘子系统等)
  4. 应用程序池管理(WSRM,池重置,分区)
  5. 部署
  6. 监控

如果它可能有用,我在本书中讨论了许多这些问题:Ultra-Fast ASP.NET:使用ASP.NET和SQL Server构建超快速和超可扩展的Web站点.