我们创建了一个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耕作”中的经验并解决可扩展性问题,那将会很棒.
谢谢,
米哈伊尔.
解决方法
1) Is there special standard software
to create an ASP.NET web farm?
没有.
2) Or should we create a web farm
ourselves,by transferring requests
between different web servers manually
(using ASP.NET / C#)?
没有.
要构建Web场,您需要某种形式的负载平衡.对于最多8台服务器,您可以使用内置于Windows的网络负载平衡(NLB).对于8台以上的服务器,您应该使用硬件负载平衡器.
然而,负载平衡实际上只是冰山一角.还有许多其他问题需要解决,包括:
>状态管理(cookie,ViewState,会话状态等)
>缓存和缓存失效
>数据库加载(管理往返,分区,磁盘子系统等)
>应用程序池管理(WSRM,池重置,分区)
>部署
>监测
如果它可能有用,我在本书中涵盖了许多这些问题:Ultra-Fast ASP.NET: Build Ultra-Fast and Ultra-Scalable web sites using ASP.NET and SQL Server.