记一次现场慢问题的排查

上周正在调休从准老丈人家回来的时候,同事说有个项目点评级特别慢,造成系统卡死,希望我能去现场看看到底是什么情况。

从项目点发来的日志来看,在计算完一个积分要素,计算下一个积分要素竟然需要三分钟之后才进行。不知道中间到底发生了什么。

带着疑问,周一一早到项目点查看,如项目点反馈,排除页面加载本来就慢等这些原本就存在的问题(公司有安排人手在修改这部分),评级流程确实是要比公司慢一些。之后打开日志,如之前的日志一样,还是无法精确定位慢的地方。

打开源码,发现计算积分要素结果之后,还有一个积分要素异常配置,于是重点在这部分加了很多日志,查看每一部分的耗时。部署完加了日志的代码后,发现确实是计算配置的异常规则慢。计算规则表达式的时候,需要取评级对象的指标数据,但首先从缓存取,如果缓存没有,再从数据库取全部评级对象的指标数据,然后更新缓存。指标数据表虽然数据量不大,可是每行数据存在上百个字段,取数之后一个一个塞缓存会很耗时,所以造成,如果缓存中没有指标数据的对象,评级就会很慢。

后来查看取指标数据的地方,查询所有对象的数据会很慢,但查单独一个对象的数据却很快,所以,修改代码,携带对象编码查询指标数据,问题解决~

通过这次问题排查的经历,面对项目点的问题首先不要慌张,不要像没头苍蝇到处乱撞。首先重现问题,然后冷静分析问题原因,对造成问题的原因进行初步定位。如果日志不全就多打日志,狂打日志,在有可能出问题的地方都加上日志,而且日志输出尽量详尽。找到问题的地方那就好办了,慢就优化,出错就修正。问题也就不是问题了。

这次最近一次去项目点排查问题的经历,叨逼叨的就记录下来了,以前在项目点解决的问题最近有时间的话也一并整理出来,不知道大家有没有相关的经历可以分享交流呀。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值