fra*_*lic 13 architecture iis infrastructure scalability load-balancing
更新2009-05-21
我一直在测试使用单个网络共享的#2方法.导致Windows Server 2003在加载时出现一些问题:
http://support.microsoft.com/kb/810886
结束更新
我收到了一个ASP.NET网站的提案,其工作方式如下:
硬件负载平衡器 - > 4个IIS6 Web服务器 - >带有故障转移群集的SQL Server DB
这是问题......
我们选择存储Web文件的位置(aspx,html,css,images).提出了两种选择:
1)在4个IIS服务器中的每个服务器上创建相同的Web文件副本.
2)将Web文件的单个副本放在4个Web服务器可访问的网络共享上.4个IIS服务器上的Web根将映射到单个网络共享.
哪个更好的解决方案?选项2显然更易于部署,因为它只需要将文件复制到一个位置.但是,我想知道是否存在可伸缩性问题,因为四个Web服务器都访问一组文件.IIS会在本地缓存这些文件吗?它会在每个客户端请求中达到网络共享吗?此外,访问网络共享总是比获取本地硬盘驱动器上的文件慢?如果添加更多IIS服务器,网络共享上的负载是否会变得更糟?
为了给出观点,这是针对一个目前每月点击量达到约2000万次的网站.在最近的高峰期,它每秒接收约200次点击.
如果您对此类设置有特殊经验,请与我们联系.感谢您的投入.
更新2009-03-05
为了澄清我的情况 - 这个系统中的"部署"比典型的Web应用程序更频繁.该网站是后台CMS的前端.每次在CMS中发布内容时,新页面(aspx,html等)都会自动推送到实际站点.部署基本上是"按需".从理论上讲,这种推动可能会在一分钟或更长时间内发生几次.所以我不确定一次部署一个Web服务器是否切实可行.思考?
Muf*_*aka 22
我将共享4台服务器之间的负载.不是那么多.
在部署或生产中的单点故障时,您不希望出现单点争用.
部署时,您可以一次执行1个.您的部署工具应通过向负载均衡器通知不应使用服务器,部署代码,所需的任何预编译工作以及最后通知负载均衡器服务器已就绪来自动执行此操作.
我们在200多个Web服务器场中使用了这种策略,它可以很好地部署而不会中断服务.
如果你主要担心的是性能问题,我认为这是因为你把所有这些钱花在硬件上,那么为了方便起见分享一个网络文件系统并没有多大意义.即使网络驱动器性能极高,它们的性能也不如本机驱动器.
无论如何,部署您的网络资产都是自动化的(对吗?),因此以倍数进行部署并不会造成太大的不便.
如果它比你让它更复杂,那么像DeltaCopy这样的东西对于保持这些磁盘同步很有用.