性能测试我的AWS PHP / MySQL应用程序

时间:2012-07-27 08:13:01

标签: php mysql performance amazon-web-services amazon-rds

我正在编写一个在后端使用MySQL的PHP​​应用程序。我期待大约800名用户每秒钟点击我们的服务器,请求来自iOS应用程序。

该应用程序分布在大约8个diffrenet PHP脚本上,这些脚本执行非常简单的SELECT查询(偶尔使用1个连接)和简单的INSERT查询,其中我一次只插入一行(每个数据少于10kb)平均排)。在SELECTS和INSERTS之间有大约50/50的分割。

计划是使用Amazon Web Services并在EC2上托管应用程序以分散CPU负载和RDS(使用MySQL)来处理数据库,但我知道RDS不会向外扩展,只能向上扩展。因此,在提交AWS解决方案之前,我需要在我们的开发服务器上对我的应用程序进行基准测试(不是一百万英里的中等RDS解决方案规范),以便大致了解我的应用程序和MySQL可以处理多少请求(对于大概数字) - 在对AWS本身进行实际基准测试之前。

我相信我只需要在PHP中对查询进行性能测试,因为EC2应该处理CPU负载,但我确实需要查看RDS(MySQL)是否/如何应对那么多用户。

有关如何处理这种情况的任何建议将不胜感激。

提前谢谢!

2 个答案:

答案 0 :(得分:0)

您是否考虑过使用Apache Benchmark?应该在这里做的工作。我也听说过有关siege的好消息,但还没有测试过。

答案 1 :(得分:0)

如果每秒有800次用户点击,最好先考虑分片。在开头设计和实现分片将允许您从少量主机开始,然后稍后更容易扩展。如果你只设计一个服务器,即使现在它将处理负载,很快就需要扩展,然后当应用程序已经投入生产时切换到分片架构将会复杂得多。