需要有关大型 Silverlight 站点设置的建议

需要有关大型 Silverlight 站点设置的建议

可能重复:
您能帮助我进行容量规划吗?

希望这里有人能好心地给我们一些建议,告诉我们应该采用什么设置。我不是系统管理员,只是一名开发人员,所以我不完全确定扩展我们正在构建的 Web 应用程序需要涉及哪些方面。

我们正在使用 Silverlight 构建 SaaS Web 应用程序,后端使用 MS SQL 数据库,并调用 WCF 服务。Silverlight 应用程序本身目前为 6MB(尚未经过任何形式的混淆或压缩),并且不会变得更大。我们可能会看到数十万甚至数百万客户使用该网站,并且网站上线后,其中大部分客户都会加入。由于它是一个 SaaS 应用程序,因此需要 24/7/365 全天候运行。

我们目前在本地数据中心有半机架专用硬件,安装了 3 台服务器。其中 2 台目前已达到最大负荷,无法再处理任何负载,但第三台几乎没有负载,其规格如下:Proliant DL360 G7、12 x 2.666 Ghz、Xeon E5650 @ 2.67Ghz、49141.38MB 内存。我们有一个 2MB 连接,连接到所有 3 台服务器,最高可达 100MB,但我们正在考虑增加这个大小。所有 3 台服务器都运行 vSphere 4 Advanced,因此它可以运行多个虚拟机。

服务器本身不需要 Web 应用的存储,但需要能够处理所有数据库调用并启动 Silverlight 应用。数据库调用包括常规操作,例如检查用户登录凭据、保存和加载某些数据(对于要保存的最大信息,数据库的典型写入永远不会超过 1MB)等。

我们已经考虑过 Azure 和 Amazon 作为我们自己托管的替代方案,因为我们不希望在上线后有 N 个人注册该服务,而我们无法处理下载应用程序和所有数据库调用所需的所有带宽。但是,Azure 非常昂贵,Amazon 也相差不大,但两者似乎都是解决可扩展性问题的好方法,而不是在我们的机架上添加 X 个服务器并自己解决所有这些问题。目前,我们倾向于 Amazon,因为它似乎是比 Azure 更好的云解决方案,而且价格略低一些。

是不是最好再添加一台服务器,增加带宽?我们是否应该考虑另外两台服务器,其中两台用于托管网站并进行负载平衡,第三台服务器用于我们的 MS SQL 数据库?或者我们应该直接使用 Amazon,让他们托管一切?我真的不知道最好的解决方案是什么,谢谢大家。

答案1

您说过,您的最大 WCF 事务不会大于 1MB,但平均事务呢?是 0.95MB 还是 25KB?假设您当前的基础设施可以处理预期的 WCF 负载,并且您最担心的是 .xap 的部署,我强烈建议您将 6MB .xap 部署到 Amazon 或 Azure CDN(如果您真的相信在早期您将拥有数百万访问者)。这将节省您的带宽,并使您无需管理任何云虚拟机。根据您的性能要求,您甚至可以使用 S3 存储而不是 CDN。

这样,您便可以在 Web 服务器上托管应用程序的 ASP.NET Web 组件以及 WCF 服务。此服务器应具有对数据库服务器的 LAN 访问权限。这为您提供了内部应用程序管理的优势,而无需为数百万个客户端托管大型 .xap 文件带来的带宽要求。

相关内容