API接口响应速度突然变慢的原因及解决方案

引言 本文主要针对SQL优化,缓存方面的优化,第三方接口方面的优化,资源瓶颈,业务方面的优化,网络io方面的优化等,来将项目中接口访问的优化

一. 首先要分析接口响应慢的具体原因,列出一些常见原因

是不是资源层面的瓶颈(服务器性能问题)
是不是缓存没添加,如果加了,是不是热点数据导致负载不均衡
是不是有依赖于第三方接口
是不是接口涉及业务太多,导致程序跑很久
是不是sql层面的问题导致的等待时机加长,进而拖慢接口
网络层面的原因,带宽,DNS解析
二.相应的解决方案

资源紧张,加机器,SLB(负载均衡)搞起来
加缓存可以解决的问题都不是什么大问题,存在热点数据可以将某几个热点单独出来用专门的机器进行处理,不要因为局部影响整体
一方面与第三方沟通接口响应问题,另一方面超时时间注意把控,如果可以非核心业务能异步久异步掉
把非核心的业务进行异步化操作(消息队列)。记住如果代码层面是非核心业务,但是会影响用户感知,需要慎重决定是否异步。
如果是代码不良导致加锁了,尽量优化索引或sql语句,让锁的级别最小(到行),一般来说到行差不多了。如果是单个sql跑慢了,需要分析是不是索引没加或者sql选的索引错了,索引该加的就加了,该force index也加了。
网路原因,需要联系运营商一起商量下怎么解决,单方面比较难有大的优化。

    原文作者:叫我峰兄
    原文地址: https://blog.csdn.net/weixin_41882200/article/details/116653361
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞