我打算主办一个网站,在第一阶段我将瞄准30,000个用户。 它在php中,并在Apache服务器上运行。 假设8000个用户在最坏的情况下可以上网,其中1000个用户将上传照片。
客户端照片大小将调整到1MB左右,一个HTTP请求只能上传一张照片。
我的计划:
我的问题在这里
我build议你先从Big(Amazon负载均衡器,带有2个大型实例)开始,然后如果资源在大负载之后仍然是空闲的,那么你可以在这之后缩小,因为如果你从小型实例开始,select负载(这有很大的机会),那么用户将面临停机时间(当你将升级到中型或大型实例),如果该实例仍然没有满足您的请求,那么你将不得不再次这样做。为了最好的准备最糟糕的事情,我自己托pipe了一个大约有10,000到15,000个用户的站点,为此我必须使用6个大型Apache服务器实例和一个大型MySQL RDS,现在负载很好,所以我们可能想要从负载平衡器中删除1-2个实例,但想象一下,如果我已经创build了2-3个小实例,那么在负载来临之后,服务器就会崩溃。
(不要太担心价格问题,因为亚马逊肯定会收取你的使用费用,但费用是按小时计算的,而且这些费用也不是那么重,
在启动之前运行你的设置的基准,你可以使用Apache JMeter,HP loadtester,AB(apache benchmark)。
我认为你应该从一个微型实例开始,他们被列入你订阅的AWS中,但要小心; 亚马逊收取一切费用。 然后,当你的网站的需求增加时,旋转更多的实例,并通过负载平衡器。
只是我的build议。
我的build议是使用为您运行实例的服务,并允许在stream量增长时添加更多实例。
我们使用Scalr,还有版图,heruko makara,云代工等。 如果您从云pipe理服务使用现成的AMI,而不是开发应用程序,然后考虑如何将其转换为云pipe理环境,那么您将更容易进入EC2。