zoukankan      html  css  js  c++  java
  • Redis 查询变慢CheckList

    1. 获取Redis实例在当前环境下的基线性能。
    2. 是否⽤了慢查询命令?(Redis命令或者latency monitor⼯具)如果是的话,就使用其他的命令代替慢查询,或者把聚合计算的命令放在客户端做
    3. 是否对过期key设置了相同的过期时间?对于批量删除的key,可以在每个key的过期时间上加⼀个随机
      数,避免同时删除。
    4. 是否存在bigkey? 对于bigkey的删除操作,如果你的Redis是4.0及以上的版本,可以直接利⽤异步线程
      机制减少主线程阻塞;如果是Redis 4.0以前的版本,可以使⽤SCAN命令迭代删除;对于bigkey的集合查
      询和聚合操作,可以使⽤SCAN命令在客⼾端完成。
    5. Redis AOF配置级别是什么?业务层⾯是否的确需要这⼀可靠性级别?如果我们需要⾼性能,同时也允许
      数据丢失,可以将配置项no-appendfsync-on-rewrite设置为yes,避免AOF重写和fsync竞争磁盘IO资
      源,导致Redis延迟增加。当然, 如果既需要⾼性能⼜需要⾼可靠性,最好使⽤⾼速固态盘作为AOF⽇志
      的写⼊盘。
    6. Redis实例的内存使⽤是否过⼤?发⽣swap了吗?如果是的话,就增加机器内存,或者是使⽤Redis集
      群,分摊单机Redis的键值对数量和内存压⼒。同时,要避免出现Redis和其他内存需求⼤的应⽤共享机
      器的情况。
    7. 在Redis实例的运⾏环境中,是否启⽤了透明⼤⻚机制?如果是的话,直接关闭内存⼤⻚机制就⾏了。
    8. 是否运⾏了Redis主从集群?如果是的话,把主库实例的数据量⼤⼩控制在2~4GB,以免主从复制时,从
      库因加载⼤的RDB⽂件⽽阻塞。
    9. 是否使⽤了多核CPU或NUMA架构的机器运⾏Redis实例?使⽤多核CPU时,可以给Redis实例绑定物理
      核;使⽤NUMA架构时,注意把Redis实例和⽹络中断处理程序运⾏在同⼀个CPU Socket上。
  • 相关阅读:
    Eclipse编辑JS响应慢,复制粘贴卡顿的解决方案
    Oracle 通过字段名查询其所在的表
    spring mvc流转控制说明
    Iterable(迭代器)的用法
    spring事务配置详解
    创建第一个Hiberntae工程
    spring3.0注解
    Ext中Grid重新load设置URL
    spring框架设计理念(上)
    Eclipse快捷键大全
  • 原文地址:https://www.cnblogs.com/xiaofeng-fu/p/14793619.html
Copyright © 2011-2022 走看看