2017-02-24 78 views
0

我有一些API用CakePHP编写,我们要迁移到Amazon AWS。CakePHP响应缓慢

以下是目前的情况:

  1. 网站上GoDaddy的托管与域共享主机,例如:democompany.com

  2. 后端数据库为MySQL,我们通过访问的phpMyAdmin。它有几个表格,例如用户,计划,采购等

  3. 所有的API都写在CakePHP中,我们通过基础URL访问: democompany.com/cake

例如,对于将在用户表中的条目,我们创建一个JSON并通过REST API发送它。下图显示了JSON:

enter image description here

现在,因为我们的用户也在不断增长,我们的API响应时间已经放缓。发送POST或GET需要时间来返回响应。

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

+1

https://aws.amazon.com/rds/aurora/?nc2=h_m1您可以使用极光数据库或RDS,但很难说为什么响应速度慢而不知道瓶颈,服务器配置,代码质量等。AWS的质量很好 –

回答

0

使用PHP后端放缓MySQL数据库可能有很多原因。试试这些:

  • 其中最重要的是考虑你的索引。您可能拥有带auto_increment的ID主索引。但是,如果您在另一列(如SELECT * FROM users WHERE email LIKE '%john%')上查询很多,则还需要在电子邮件列中设置索引。如果您需要高性能数据库,索引如何工作至关重要。看到这篇文章的开始如何工作:How do MySQL indexes work?

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

  • 排序数据也是非常昂贵的。删除SORT BY whatever是否会加快速度?检查了这一点:MYSQL, very slow order by

  • 如果你看看所有这些,并确信你所有的查询运行平稳,你可以看看持久连接(重新使用一个页面加载连接例如),更大的服务器等

+0

已经检查了所有这些。我期待在AWS或任何其他服务器上托管所有Cake PHP代码和MySQL数据库。你能否建议哪一个最好? – varun

+0

那么如果你确定它不是代码,那么我会去RDS,这是一个托管的mysql服务。因此,在RDS中运行数据库(尝试使用t2.small或t2.medium来启动,您始终可以获得更大的服务器)并在EC2服务器上安装CakePHP(最好是t2。小负载平衡器和自动调整器,而不是1个大型服务器) –