PHP API性能提升

时间:2016-01-10 01:14:21

标签: php performance api response-time

我是API开发的新手,我刚开始根据我的项目要求制作项目的POC 1.我将根据该请求收到用户的请求 2.对于我将从用户处获得的每个请求,我必须使用他们提供的API(至少8到10个)请求其他几个提供商。
3.从我的数据库中获取一些信息 4.将我从我的数据库中提取的其他服务器和信息的所有响应转换为JSON,并将其返回给请求它的用户。

我在核心PHP中编写了这段代码,但是在回复用户时,性能并没有达到2.5秒左右。如果我选择任何其他语言或仅使用PHP,但使用特定的框架和实践,我应该遵循哪种语言可以帮助我提高API的性能?

2 个答案:

答案 0 :(得分:5)

我建议采用三种M的方法来衡量,衡量和衡量。

你可以通过这个堆栈中的一些工作来改进很多东西;它有点简单,合乎逻辑,没有太多的活动部件。

首先测量SQL查询运行时,应用程序格式化JSON响应需要多长时间,以及从开始到结束应用程序返回响应的时间。您可以使用简单的PSR兼容日志包(如monolog

)来完成此操作

了解这些测量结果将有助于您回答以下问题:

  • 我的申请速度慢还是托管?
  • 是我的数据库慢;我应该查看列索引吗?
  • 是我的网络慢;我应该将应用程序托管给我的客户吗?
  • 是我的应用路由器慢;我应该缓存路由器(如果它使用\ Reflection类,它可能在性能上特别糟糕)

通过查看应用程序分析,您可以获得比文件中的时间戳和日志消息更详细的信息。有一篇particularly good SO帖子概述了如何处理这个问题。

tldr; 不只是学习新的语言/堆栈,因为它可能更快。如果你真的想要我看看像Go这样的语言(有趣的是,从PHP背景迁移到它有点容易)。但只有在适合您的申请和业务的情况下才能这样做;引入新技术意味着您需要在几个月内维护它。

答案 1 :(得分:0)

如果这很慢,可能是由于您的信息提供服务增加了响应时间。所以使用不同的语言可能没什么用。 考虑存储/缓存响应,以便每次都不进行网络往返。