2

我正在编写一个在后端使用 MySQL 的 PHP 应用程序。我预计每秒大约有 800 个用户访问我们的服务器,请求来自 iOS 应用程序。

该应用程序分布在大约 8 个不同的 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)是否/如何应对这么多用户。

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

先感谢您!

4

2 回答 2

0

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

于 2012-07-27T08:16:43.097 回答
0

如果您每秒有 800 次用户点击,那么从一开始就考虑分片可能是个好主意。从一开始就设计和实施分片将使您从少量主机开始,然后更容易地向外扩展。如果你只为一台服务器设计,即使现在它可以处理负载,很快你就需要扩大规模,然后当应用程序已经投入生产时切换到分片架构会变得更加复杂。

于 2012-09-19T16:12:12.417 回答