我正在使用Symfony版本3.1.9来与MySQL数据库进行通信的REST API。
大多数POST API(控制器功能)的平均时间约为3-4秒!是的~3-4秒:(
对于其中一个API,以下是 Symfony Profiler 的详细信息:
首次执行API效果指标
13307 ms总执行时间
485 ms Symfony初始化
34.25 MB峰值内存使用
第二次执行API性能指标
4862 ms总执行时间
266 ms Symfony初始化
34.00 MB峰值内存使用
Here是第二次执行时间的屏幕截图,看起来控制器在一些繁重的处理中非常繁忙但是我在控制器功能中尝试做的就是从MySQl数据库访问信息并且我已经确认通过Doctrine进行MySql查询的时间不超过1毫秒。
我尝试了什么?
如果适用所有GET请求,我使用的Cache-Control标头如下:
Cache-Control: must-revalidate=true
Cache-Control: max-age=180
由于Ubuntu服务器机器(使用Apache)因负载和执行时间而重新启动,这没有多大帮助。如果是POST API,我仍然无能为力。
我也尝试在Apache服务器上启用OPcache,但不确定是否有帮助,因为我在优化应用服务器和服务器配置方面非常天真。
请帮忙。如果需要任何其他细节,请在评论中告诉我。