Mysql CakePHP响应缓慢

Mysql CakePHP响应缓慢,mysql,amazon-web-services,cakephp,Mysql,Amazon Web Services,Cakephp,我有一些用CakePHP编写的API,我们希望将其迁移到AmazonAWS 目前情况如下: 网站以与域共享的方式托管在GoDaddy上,例如:democompany.com 后端数据库是MySQL,我们通过PhpMyAdmin访问它。它有几个表,例如用户、计划、购买等 所有API都是用CakePHP编写的,我们可以通过基本URL访问: democompany.com/cake 例如,为了在users表中添加一个条目,我们创建一个JSON并通过RESTAPI发送它。下图显示了JSON: 现在,由

我有一些用CakePHP编写的API,我们希望将其迁移到AmazonAWS

目前情况如下:

  • 网站以与域共享的方式托管在GoDaddy上,例如:democompany.com

  • 后端数据库是MySQL,我们通过PhpMyAdmin访问它。它有几个表,例如用户、计划、购买等

  • 所有API都是用CakePHP编写的,我们可以通过基本URL访问: democompany.com/cake

  • 例如,为了在users表中添加一个条目,我们创建一个JSON并通过RESTAPI发送它。下图显示了JSON:

    现在,由于我们的用户在增长,我们的API响应时间已经放缓。发送POST或GET需要时间才能返回响应

    我们正在考虑将API和数据库迁移到AmazonAWS或任何其他解决方案。我不太了解AWS,所以不知道哪种产品最好。
    哪一个是最好的解决方案,能够提供即时响应,并且成本效益高?

    一个带有PHP后端的MySQL数据库的速度变慢可能有很多原因。试试这些:

    • 最重要的事情之一是考虑你的索引。您可能在ID上有一个自动递增的主索引。但是,如果您在另一列上查询了很多信息(例如
      SELECT*来自电子邮件地址为“%john%”
      )的用户,那么在电子邮件列上设置索引也很重要。如果需要高性能数据库,索引的工作方式至关重要。请参阅本文,了解其工作原理:

    • 另一件事是查询的数量和复杂性。您是在一个页面加载中使用多个查询,还是仅使用几个查询?尝试从一个查询中获取尽可能多的信息

    • 排序数据也可能非常昂贵。删除
      是否按任何方式排序
      会大大加快速度?看看这个:

    • 如果您查看了所有这些,并且确信所有查询都运行顺利,那么您可以查看持久连接(例如在一个页面加载中重复使用连接)、更大的服务器等等


    您可以将aurora用于数据库或RDS,但如果不了解瓶颈、服务器配置、代码质量等,很难说为什么响应速度慢。AWS的质量很好,但已经检查了所有这些。我期待在AWS或任何其他服务器上托管所有的PHP代码和MySQL数据库。你能建议哪一个最好吗?如果你确定它不是代码,那么我会选择RDS,这是一个托管mysql服务。因此,在RDS中运行数据库(首先尝试t2.small或t2.medium,您总是可以得到一个更大的服务器)并在EC2服务器上安装Cake PHP(最好在负载平衡器和autoscaler后面安装t2.small,而不是在一个大服务器后面)