我是API开发的新手,我刚开始根据我的项目要求制作项目的POC
1.我将根据该请求收到用户的请求.
2.对于我将从用户处获得的每个请求,我必须使用他们提供的API(至少8到10个)请求其他几个提供商.
3.从我的数据库中获取一些信息.
4.将我从我的数据库获取的其他服务器和信息的所有响应转换为JSON,并将其返回给请求它的用户.
我在核心PHP中编写了这段代码,但是在回复用户时,性能达不到2.5秒,这真的很慢.如果我选择任何其他语言或仅使用PHP,但使用特定的框架和实践,我应该遵循哪种语言可以帮助我提高API的性能?
我建议采用三种M的方法来衡量,衡量和衡量.
你可以通过这个堆栈中的一些工作来改进很多东西; 它有点简单,符合逻辑,并没有太多的活动部件.
首先测量SQL查询运行时,应用程序格式化JSON响应所需的时间,以及从开始到结束应用程序返回响应所需的时间.您可以使用简单的PSR兼容日志包(如monolog)来完成此操作.
了解这些测量结果将有助于您回答以下问题:
是我的申请缓慢或托管?
我的数据库很慢; 我应该看一下列索引吗?
我的网络很慢; 我应该将应用程序托管给我的客户吗?
是我的应用程序路由器慢; 我应该缓存路由器(如果它使用\ Reflection类,它可能在性能上特别糟糕)
通过查看应用程序分析,您可以获得比文件中的时间戳和日志消息更详细的信息.有一个特别好的 SO帖子概述了如何处理这个问题.
tldr; 不要只学习新的语言/堆栈,因为它可能更快. 如果你真的想要我看一下像Go这样的语言(传闻它有点容易从PHP背景迁移到).但只有在适合您的申请和业务的情况下才能这样做; 引入新技术意味着您需要在几个月的时间内维护它.