我正在编写一个在后端使用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)是否/如何应对那么多用户。
有关如何处理这种情况的任何建议将不胜感激。
提前谢谢!
答案 0 :(得分:0)
您是否考虑过使用Apache Benchmark?应该在这里做的工作。我也听说过有关siege的好消息,但还没有测试过。
答案 1 :(得分:0)
如果每秒有800次用户点击,最好先考虑分片。在开头设计和实现分片将允许您从少量主机开始,然后稍后更容易扩展。如果你只设计一个服务器,即使现在它将处理负载,很快就需要扩展,然后当应用程序已经投入生产时切换到分片架构将会复杂得多。