可能重复:
你能帮我做一下容量规划吗?
希望这里有人能够提供一些build议,告诉我们应该采取什么样的措施。 我不是一个系统pipe理员,只是一个开发人员,所以我不完全确定所有将需要参与扩展我们正在build设的Web应用程序。
我们正在使用Silverlight构build一个SaaS Web应用程序,在后端有一个MS SQL数据库和WCF服务调用。 Silverlight应用程序本身目前是6MB(反正还没有被模糊或压缩),并且不会变得更大。 我们正在潜在地查看成千上万,甚至最终数百万的使用该网站的客户,并且一旦网站上线,他们中的大部分人就会join。 因为这是一个SaaS应用程序,它将需要24/7/365正常运行时间。
我们目前在本地数据中心有半个机架的专用硬件,有三台服务器。 其中2个目前已经超出,不能处理任何负载,但我们的第三个已经很less,它的规格是:Proliant DL360 G7,12 x 2.666 Ghz,至强E5650 @ 2.67Ghz,49141.38MB的内存。 我们有一个连接到所有3台服务器的2MB连接,最高可达100MB,但我们正在考虑增加这个尺寸。 所有3台服务器都运行vSphere 4 Advanced,因此它可以运行多个虚拟机。
服务器本身不需要从web应用程序存储,但需要能够处理所有的数据库调用和服务器的Silverlight应用程序。 数据库调用将包括正常的事情,如检查用户login凭据,保存和加载一些数据(对于保存的最大信息,典型的数据库写入不会超过1MB)等。
我们将Azure和Amazon视为自己托pipe的替代scheme,因为我们不希望发生的事情发生后,有好几个人注册了服务,我们无法处理所有带宽下载该应用程序和所有的数据库调用。 然而,Azure非常昂贵,亚马逊并没有那么落后,但是这似乎是一个很好的解决扩展性问题的办法,而不是把X台服务器添加到我们的机架上去解决所有这些问题。 目前,我们倾向于亚马逊,因为这似乎是一个比Azure更好的云解决scheme,除了便宜一点。
只是增加另一台服务器来增加带宽,会更好吗? 我们应该看看2个额外的服务器,2个托pipe网站和负载均衡,然后是我们的MS SQL数据库的第三台服务器? 还是应该和亚马逊一起去让他们承担一切? 我真的对最好的解决scheme感到茫然,谢谢你们。
你已经说过你的最大WCF交易不会超过1MB,但是平均值呢? 是.95MB还是25KB? 假设您当前的基础架构可以处理您预期的WCF负载,并且您最担心部署.xap,我强烈build议您将6MB .xap部署到Amazon或Azure CDN(如果您确实相信您会早期有数百万的访客)。 这将节省您的带宽,并防止您pipe理任何云虚拟机。 根据您的性能要求,您甚至可以使用S3存储而不是CDN。
这样,您就可以将您的应用程序的ASP.NET Web组件与您的WCF服务一起托pipe在Web服务器上。 该服务器应具有对数据库服务器的LAN访问权限。 这为您提供了内部应用程序pipe理的优势,无需为数百万客户端托pipe一个大型.xap文件的带宽需求。