我们目前正在开发一个高流量的facebook应用程序。所有的流量将在一个月内,那里有500.000到1.000.000的预期用户。在那个月之后,游戏结束了,我们有一个胜利者-所以应用程序将存档。
我们目前正计划用ruby on rails开发应用程序,并寻找能够处理流量的托管选项。问题不在于用户,而在于峰值:我们将在短时间内每天收到大约500.000个请求(假设在最坏的情况下在3分钟内)。
我们期望应用程序的500.000到1.000.000用户,峰值在下午1:00(时区GMT+1),其中大多数(高达80%的用户)将发送大部分请求。请求从6月11日到11日--之后,应用程序/游戏关闭/结束。
我们目前正在开发一种积极的缓存机制--目前我们正在考虑2到3个小型应用程序/ we服务,它将处理负载。
负载分布如下: a)主应用程序,缓存数据(11个屏幕,每个200 k) b)投票:每天到下午1:00(时区GMT+1) -每个用户投票的数据发送约10k,高并发峰值!
问题:
是否有特定的应用程序设置,即recommendable?
谢谢!
发布于 2010-05-22 17:20:09
查看一些自动缩放云计算解决方案,例如EC2的AutoScaling http://aws.amazon.com/autoscaling/,您可以设置参数,说明EC2何时会为您生成新的实例。
如果您真的想要小心,那么可以构建一个僵尸网络来模拟站点http://www.talcottsystems.com/articles/build-your-own-botnet-with-ec2-and-capistrano-to-load-test-your-server-cluster-before-launch/的流量。
发布于 2010-05-22 14:52:59
如果您所提供的内容都是缓存的,那么您就可以很好地使用它,一些nginx实例可以提供几乎无限的静态页面。
投票听起来不太好,因为它应该同时进行。高并发负载的新热点似乎是node.js,但我对此没有任何经验。
不过,我确实认为投票实际上不会做很多事情,而不是执行一个完整的rails堆栈调用,尝试只编写一个完成投票的小齿条方法。这样可以避免加载ActionController、ActionView,如果您将选票写到普通SQL数据库中,也可以使用ActiveRecord。
https://stackoverflow.com/questions/2888495
复制相似问题