当前位置 博文首页 > 风吹头蛋凉的博客:tp5优化api速度

    风吹头蛋凉的博客:tp5优化api速度

    作者:[db:作者] 时间:2021-06-29 19:27

    tp5如何优化api速度?

    前言

    上个月用tp5写了个项目,写完就没管了,突然有一天老板说,有个接口太慢了,点开要好久,我说好,二话不说postman一发,好吗这个接口耗时一秒多,忍不了,于是开始寻找问题所在。

    如何找到问题?

    1.开启config中的app_debug,和database_debug.
    由于是通过tp5写的框架,以前不懂tp5中config文件的app_debug,有什么用,文档一看,可以打印出各种函数所完成的时间
    在这里插入图片描述

    2.查看日志文件

    一般只要开启了,就会有一个runtime文件,打开里面的log文件,里面详细记录了耗时
    在这里插入图片描述

    找到接口请求的数据,看是php程序耗时久,还是查询数据库耗时久,不同的问题,对应不同的解决方案。

    3.解决方案

    1. 如果是程序问题,看看是不是写了死循环,什么的,不过一般不会是这种问题,因为程序一旦出现问题就会,服务器就会出现响应超时,卡死的情况。
    2. 如果是数据查询慢问题,就在查询量较多的字段加索引,把查询较多的数据放到redis
    3. 如果是代码不良导致加锁了,尽量优化索引或sql语句,让锁的级别最小(到行),一般来说到行差不多了。如果是单个sql跑慢了,需要分析是不是索引没加或者sql选的索引错了,索引该加的就加了,该force index也加了。
    4. 把非核心的业务进行异步化操作。记住如果代码层面是非核心业务,但是会影响用户感知,需要慎重决定是否异步。

    总结

    遇到问题不要慌,对症下药,找到问题,寻找解决方案,解决问题,事后总结,一步一步,问题总会解决的。

    下一篇:没有了