Redis变慢?深入浅出Redis性能诊断系列文章(一)
(本文首发于“数据库架构师”公号,订阅“数据库架构师”公号,一起学习数据库技术)
Redis 作为一款业内使用率最高的内存数据库,其拥有非常高的性能,单节点的QPS压测能达到18万以上。但也正因此如此,当应用访问 Redis 时,如果发现响应延迟变大时就会给业务带来非常大的影响。
比如在日常使用Redis时,肯定或多或少都遇到过下面这种问题:
- 为什么Redis服务过去一直很稳定,突然从今天某个时间点开始变慢了?
- 为什么访问Redis相同的命令,有时响应很快,有时却非常慢?
- 为什么访问Redis突然卡住了,过一会又自动恢复了,这也导致业务请求出现很多的毛刺?
- 。。。
- 对于应用服务访问Redis的请求,记录下每次请求的响应延时(比如使用分布式链路跟踪系统等),看看是不是访问Redis响应时间变长了;
- 排查应用服务的多个节点,看看是不是每个节点都有问题,还是仅仅一个出现了问题。
- 应用到Redis服务之间的链路出现问题了,比如Redis所在服务器网络负载过高丢包、交换机问题、Proxy变慢等;
- Redis本身确实因为一些原因变慢了。
- 在相同配置的服务器上,测试一个正常 Redis 实例的基准性能
- 找到可能变慢的 Redis 实例,测试这个实例的基准性能
- 对比这个实例的运行延迟与正常 Redis 基准性能,如果性能差距在两倍以上,就可以认为这个 Redis 服务确实响应变慢了
如果你还想看更多优质文章,欢迎关注我的公号「数据库架构师」,提升数据库技能。
如果我的文章对你有所帮助,还请帮忙点赞、在看、转发一下,你的支持会激励我输出更高质量的文章,非常感谢!