更新 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、图像)的位置。提出了两种选择:
1) 在 4 台 IIS 服务器上分别创建相同的 Web 文件副本。
2) 将 Web 文件的单个副本放在 4 个 Web 服务器可访问的网络共享上。4 个 IIS 服务器上的 webroot 将映射到单个网络共享。
哪个是更好的解决方案?选项 2 显然对于部署更简单,因为它只需要将文件复制到一个位置。但是,我想知道是否会有可伸缩性问题,因为四个 Web 服务器都在访问一组文件。IIS 会在本地缓存这些文件吗?它会在每个客户端请求上命中网络共享吗?另外,访问网络共享总是比在本地硬盘上获取文件慢吗?如果添加更多 IIS 服务器,网络共享的负载是否会变得更糟?
举例来说,这是针对目前每月获得约 2000 万次点击的网站。在最近的高峰期,它每秒收到大约 200 次点击。
如果您对此类设置有特殊经验,请告诉我。感谢您的输入。
更新 2009-03-05
为了澄清我的情况 - 这个系统中的“部署”比典型的 Web 应用程序要频繁得多。该网站是后台 CMS 的前端。每次在 CMS 中发布内容时,都会自动将新页面(aspx、html 等)推送到实时站点。部署基本上是“按需”的。从理论上讲,这种推动可能在一分钟或更长时间内发生多次。因此,我不确定一次部署一台 Web 服务器是否可行。想法?