解决生产页面接口响应速度太慢的问题小记

在这里插入图片描述

前言

小记一下前两周的事情,本来那周没啥事干,正在开心摸鱼,学习学习。彼时因为"金三银四",离职的离职,请假的请假,公司有个项目组的那周后端竟然没有人了,然后一脸懵逼的我被领导拉到这个项目组当临时工解决生产问题。
内心ost: danm!这个项目都没参与过我能解决个啥。
具体问题是什么呢? 存在生产的bug,如:数据显示问题,某部分功能没数据的问题,还有就是解决页面响应太慢的问题,因为太慢被客户反馈了,在催没办法。
在这里插入图片描述

看到这个图,各位小伙伴和我想法是不是一样,20s的响应速度,这他喵的竟然能过了测试上到生产,真棒!要我是客户绝对投诉。

由于是生产问题,我没法直接操作,只能通过生产日志来看,但是生产日志运维要拿日志还得走流程申请。
趁这个时间,拿到相关项目信息,拉了代码,找了对应的接口,看了代码,很好,注释,log日志少得可怜,真棒!
在这里插入图片描述

启动项目,把本地服务切到测试环境,用postman测了测接口,很好,50ms!
再用公司测试环境,页面看看,嗯~~,资源加载有点慢,2s左右,再看了数据库的数据才200条,而生产数据都是几十万以上的,那说明参考公司测试环境意义就不是很大了。

原因分析

影响页面响应速度原因大概有下面这几方法。

  1. 数据库性能问题
    数据库查询效率低下是导致页面响应慢的常见原因。这可能是因为查询没有正确地使用索引,或者数据库设计不合理。

  2. 服务器性能不足
    服务器的硬件配置或软件配置可能不足以处理高负载。例如,服务器内存不足可能导致频繁的页面缓存失效。

  3. 资源加载缓慢
    页面中的资源(如图片、CSS、JavaScript文件)如果体积过大或未经过优化,会导致页面加载缓慢。

  4. 网络延迟
    用户与服务器的网络连接速度也会影响页面的响应速度。

  5. 代码效率问题
    前端或后端的代码可能存在性能瓶颈,如循环处理大量数据、使用了低效的算法等。

问题解决

那么第一优先肯定去排查数据库相关的啦
是否加索引
答案:所有业务表都没加
ok,在代码查找需要加索引字段,果然生产的查询速度有所提升,15s,还是有问题呀。
翻看自己的学习笔记,难到是索引失效?
在这里插入图片描述
看了一下接口的sql,没有发现有sql问题。
然后让运维帮在生产查一下sql
在这里插入图片描述

在这里插入图片描述
好家伙为了主键不重复,结果表里的tbid就是拼接所有字段的数据形成的一个主键,而且为了“更好的存数据”用CLOB类型,所以索引添加无效了
最后,从源头解决,让推数人员重新建结果表,重新推数。

  • 4
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值