记一次由于缓存击穿导致接口返回慢的排查过程

问题描述

后台系统不定时出现所有接口都无返回的情况,单个用户出现时其他用户不受影响。最近系统有变动权限这一块的东西,所有用户权限都统一由权限系统获取,初步判定问题是由这次的改动引起的。另外所有用户都会出现该情况需要紧急处理。

问题排查

查看页面调用接口情况

  1. 打开浏览器控制台,选择调用接口最多的页面。查看接口调用情况,接口返回很快十几个接口都正常返回。问题没有复现。
  2. 考虑到出现问题是所有接口都无法访问,并且这个版本主要修改是权限相关的东西。我们把注意力集中到拦截器的权限检验这一块。

复现问题

  1. 考虑到权限的问题,我们将这个人的权限以及登录信息从缓存删除。
  2. 再次刷新页面,所有接口都阻塞了。点击其他页面也无法正常调用接口。等待大约一分钟,接口正常返回,并且后续的接口不会再出现阻塞。
  3. 查看日志,发现所有接口日志都是在同一时间打出来。第一个接口时间距离调用大概一分钟。

定位问题

  1. 初步判定是存入或者读取权限那一块出问题了。
  2. 跟进代码,比较

猜你喜欢

转载自blog.csdn.net/weixin_38052017/article/details/115165934