我正在写一个在后端使用MySQL的PHP应用程序。我预计每秒大约有800个用户访问我们的服务器,请求来自iOS应用程序。
这个应用程序分布在大约8个diffrenet PHP脚本上,这些脚本执行非常简单的SELECT查询(偶尔使用一个join)和简单的INSERT查询,而我一次只插入一行(平均每行不到10kb的数据)。在SELECTS和INSERTS之间大约有50/50的比例。
我们的计划是使用Amazon Web Services并将应用程序托管在EC2s上,以分散CPU负载,并使用RDS (使用MySQL)来处理数据库,但我知道RDS并不是向外扩展,而是向上扩展。因此,在致力于亚马逊网络服务解决方案之前,我需要在我们的开发服务器上对我的应用程序进行基准测试(而不是中等规模的RDS解决方案规格),看看我的应用程序和MySQL每秒可以处理多少请求(大概数字)--然后再对亚马逊网络服务本身进行实际的基准测试。
我相信我真的只需要在PHP中测试查询的性能,因为EC2应该处理CPU负载,但是我确实需要看看RDS (MySQL)是否/如何在那么多用户下处理。
任何关于如何处理这种情况的建议都将不胜感激。
提前谢谢你!
发布于 2012-07-27 08:16:43
您是否考虑过使用Apache Benchmark?应该能胜任这里的工作。另外,我听说过siege的好消息,但还没有测试过。
发布于 2012-09-19 16:12:12
如果你每秒有800次用户点击,那么从一开始就考虑分片可能是个好主意。在一开始就设计和实现分片将允许您从少量主机开始,然后更容易地向外扩展。如果您只为一台服务器设计,即使现在它可以处理负载,很快您就需要向上扩展,然后当应用程序已经投入生产时,切换到分片体系结构将变得更加复杂。
https://stackoverflow.com/questions/11683951
复制