问题现象:
开发人员本地自测接口响应速度很快,但是发布到K8S中会就会出现时快时慢的情况,并且没有快慢出现的频率很没有规律。
排查过程:
(1)首先根据接口本身和上下游的服务进行资源使用排查,排查该deployment的资源使用和所在节点的情况,发现均处于正常状态
(2)排查接口缓存和数据库是否有问题,发现均处于正常状态。
(3)排查接口本身服务的配置与正常的配置进行比较,查看与其他正常服务并无区别
(4)查看接口本身的低代码逻辑,发现代码本身逻辑也比较简单,通过查询数据库中数据做简单处理并返回,且对应表中数据量也很小。
(5)最终针对整个请求的在接口服务的全部走向做了排查,发现app中有对每个请求做处理的逻辑,发现会对来源IP进行查询的逻辑,测试发现服务器请求http://ip-api.com会出现时快时的情况,定位到原因,并先将查询IP的逻辑进行注释后接口速度恢复。
本问题再次出现的几率比较低,主要是记录一下处理问题的思路,当处理问题没有头绪时,可以从整个链路出发,核心就是问题都是由某个变化的环节引起的,找到变化并处理就能解决问题。
以下为我的公众号,会定期更新我实践过的内容,欢迎大家关注讨论。