当前位置: 首页 > news >正文 专题类网站go语做网站 news 2025/11/4 17:14:27 专题类网站,go语做网站,专题文档dede企业网站建设,素材模板网站1.是否使用复杂度过高的命令 首先#xff0c;第一步#xff0c;你需要去查看一下 Redis 的慢日志#xff08;slowlog#xff09;。 Redis 提供了慢日志命令的统计功能#xff0c;它记录了有哪些命令在执行时耗时比较久。 查看 Redis 慢日志之前#xff0c;你需要设置慢…1.是否使用复杂度过高的命令 首先第一步你需要去查看一下 Redis 的慢日志slowlog。 Redis 提供了慢日志命令的统计功能它记录了有哪些命令在执行时耗时比较久。 查看 Redis 慢日志之前你需要设置慢日志的阈值。例如设置慢日志的阈值为 5 毫秒并且保留最近 500 条慢日志记录 redis-cli -h 127.0.0.1 -p 6379 # 命令执行耗时超过 5 微秒记录慢日志 CONFIG SET slowlog-log-slower-than 5 # 只保留最近 500 条慢日志 CONFIG SET slowlog-max-len 500 #获取最近的 10 条慢查询命令 redis-cli SLOWLOG GET 10 1查看日志中是否使用 O(N) 以上复杂度的命令例如 SORT、SUNION、ZUNIONSTORE 聚合类命令 2Redis 一次需要返回给客户端的数据过多更多时间花费在数据协议的组装和网络传输过程中。 优化 1对于数据的聚合操作放在客户端做 2每次获取尽量少的数据让 Redis 可以及时处理返回 2. 是否操作 bigkey 如果你查询慢日志发现并不是复杂度过高的命令导致的而都是 SET / DEL 这种简单命令出现在慢日志中那么需要判断实例是否写入了 bigkey redis-cli -h 127.0.0.1 -p 6379 --bigkeys -i 1 -------- summary ------- Sampled 829675 keys in the keyspace! Total key length in bytes is 10059825 (avg len 12.13) Biggest string found key:291880 has 10 bytes Biggest list found mylist:004 has 40 items Biggest set found myset:2386 has 38 members Biggest hash found myhash:3574 has 37 fields Biggest zset found myzset:2704 has 42 members 36313 strings with 363130 bytes (04.38% of keys, avg size 10.00) 787393 lists with 896540 items (94.90% of keys, avg size 1.14) 1994 sets with 40052 members (00.24% of keys, avg size 20.09) 1990 hashs with 39632 fields (00.24% of keys, avg size 19.92) 1985 zsets with 39750 members (00.24% of keys, avg size 20.03) 3. 数据是否集中过期 当redis中大量数据集中过期时请求穿透到mysql等关系型数据库会导致查询速度变慢从而影响redis响应变慢 在某个时间点突然出现一波延时其现象表现为变慢的时间点很有规律例如某个整点或者每间隔多久就会发生一波延迟。 优化 1集中过期 key 增加一个随机过期时间把集中过期的时间打散降低 Redis 清理过期 key 的压力 # 在过期时间点之后的 5 分钟内随机过期掉 redis.expireat(key, expire_time random(300)) 2如果使用的 Redis 是 4.0 以上版本可以开启 lazy-free 机制当删除过期 key 时把释放内存的操作放到后台线程中执行避免阻塞主线程。 # 释放过期 key 的内存放到后台线程执行 lazyfree-lazy-expire yes 4. 实例内存是否达到上限 把 Redis 当做纯缓存使用时通常会给这个实例设置一个内存上限 maxmemory然后设置一个数据淘汰策略。 当 Redis 内存达到 maxmemory 后每次写入新的数据之前Redis 必须先从实例中踢出一部分数据让整个实例的内存维持在 maxmemory 之下然后才能把新数据写进来。 这个踢出旧数据的逻辑也是需要消耗时间的而具体耗时的长短要取决于你配置的淘汰策略 allkeys-lru不管 key 是否设置了过期淘汰最近最少访问的 keyvolatile-lru只淘汰最近最少访问、并设置了过期时间的 keyallkeys-random不管 key 是否设置了过期随机淘汰 keyvolatile-random只随机淘汰设置了过期时间的 keyallkeys-ttl不管 key 是否设置了过期淘汰即将过期的 keynoeviction不淘汰任何 key实例内存达到 maxmeory 后再写入新数据直接返回错误allkeys-lfu不管 key 是否设置了过期淘汰访问频率最低的 key4.0 版本支持volatile-lfu只淘汰访问频率最低、并设置了过期时间 key4.0 版本支持 一般最常使用的是 allkeys-lru / volatile-lru 淘汰策略它们的处理逻辑是每次从实例中随机取出一批 key这个数量可配置然后淘汰一个最少访问的 key之后把剩下的 key 暂存到一个池子中继续随机取一批 key并与之前池子中的 key 比较再淘汰一个最少访问的 key。以此往复直到实例内存降到 maxmemory 之下。 需要注意的是Redis 的淘汰数据的逻辑与删除过期 key 的一样也是在命令真正执行之前执行的也就是说它也会增加我们操作 Redis 的延迟而且写 OPS 越高延迟也会越明显。 优化 1淘汰策略改为随机淘汰随机淘汰比 LRU 要快很多视业务情况调整 2拆分实例把淘汰 key 的压力分摊到多个实例上 5. 是否开启了redis持久化 当 Redis 开启了后台 RDB 和 AOF后在执行时它们都需要主进程fork出一个子进程进行数据的持久化。主进程在 fork 子进程期间整个实例阻塞无法处理客户端请求的时间。因此如果此时磁盘的 IO 负载很高那这个后台线程在执行刷盘操作fsync 系统调用时就会被阻塞住。此时的主线程依旧会接收写请求紧接着主线程又需要把数据写到文件内存中write 系统调用当主线程使用后台子线程执行了一次 fsync需要再次把新接收的操作记录写回磁盘时如果主线程发现上一次的 fsync 还没有执行完那么它就会阻塞。 你可以在 Redis 上执行 INFO 命令查看 latest_fork_usec 项单位微秒。 ##上一次 fork 耗时单位微秒 latest_fork_usec:59477 对于AOP还存在着 AOF rewrite操作这个过程也会占用大量的磁盘 IO 资源。此外fork 的耗时也与系统也有关虚拟机比物理机耗时更久。 优化 1当子进程在 AOF rewrite 期间可以让后台子线程不执行刷盘 # AOF rewrite 期间AOF 后台子线程不进行刷盘操作 # 相当于在这期间临时把 appendfsync 设置为了 none no-appendfsync-on-rewrite yes 2把redis创建到真实物理机上而不是虚拟机 3如果只是把redis作为缓存使用可以关闭RDB 和 AOF持久化功能 4尽量不要把redis 和 其他 i/o 使用率高的创建在同一台机器上让 Redis 运行在独立的机器上。 5SSD磁盘要比机械硬盘读写效率高出许多 6. 是否开启了内存大页 如果采用了内存大页那么即使客户端请求只修改 100B 的数据Redis 也需要拷贝 2MB 的大页。相反如果是常规内存页机制只用拷贝 4KB。两者相比你可以看到当客户端请求修改或新写入数据较多时内存大页机制将导致大量的拷贝这就会影响 Redis 正常的访存操作最终导致性能变慢。 首先我们要先排查下内存大页。方法是在 Redis 实例运行的机器上执行如下命令: $ cat /sys/kernel/mm/transparent_hugepage/enabled [always] madvise never如果执行结果是 always就表明内存大页机制被启动了如果是 never就表示内存大页机制被禁止。 在实际生产环境中部署时我建议你不要使用内存大页机制操作也很简单只需要执行下面的命令就可以了 echo never /sys/kernel/mm/transparent_hugepage/enabled其实操作系统提供的内存大页机制其优势是可以在一定程序上降低应用程序申请内存的次数。 但是对于 Redis 这种对性能和延迟极其敏感的数据库来说我们希望 Redis 在每次申请内存时耗时尽量短所以我不建议你在 Redis 机器上开启这个机制。 7. 最后还要考虑网络及机器配置对 Redis 性能的影响 文章转载自: http://www.morning.zypnt.cn.gov.cn.zypnt.cn http://www.morning.lclpj.cn.gov.cn.lclpj.cn http://www.morning.blqgc.cn.gov.cn.blqgc.cn http://www.morning.btpzn.cn.gov.cn.btpzn.cn http://www.morning.tgtsg.cn.gov.cn.tgtsg.cn http://www.morning.hctgn.cn.gov.cn.hctgn.cn http://www.morning.mrgby.cn.gov.cn.mrgby.cn http://www.morning.qkwxp.cn.gov.cn.qkwxp.cn http://www.morning.kpcxj.cn.gov.cn.kpcxj.cn http://www.morning.bylzr.cn.gov.cn.bylzr.cn http://www.morning.zkqjz.cn.gov.cn.zkqjz.cn http://www.morning.ktmbp.cn.gov.cn.ktmbp.cn http://www.morning.pqfbk.cn.gov.cn.pqfbk.cn http://www.morning.bxczt.cn.gov.cn.bxczt.cn http://www.morning.hctgn.cn.gov.cn.hctgn.cn http://www.morning.rfpxq.cn.gov.cn.rfpxq.cn http://www.morning.tfrmx.cn.gov.cn.tfrmx.cn http://www.morning.kwqcy.cn.gov.cn.kwqcy.cn http://www.morning.mrfr.cn.gov.cn.mrfr.cn http://www.morning.tzpqc.cn.gov.cn.tzpqc.cn http://www.morning.cbndj.cn.gov.cn.cbndj.cn http://www.morning.xcxj.cn.gov.cn.xcxj.cn http://www.morning.hgscb.cn.gov.cn.hgscb.cn http://www.morning.rhfh.cn.gov.cn.rhfh.cn http://www.morning.stfdh.cn.gov.cn.stfdh.cn http://www.morning.kyfrl.cn.gov.cn.kyfrl.cn http://www.morning.plqkz.cn.gov.cn.plqkz.cn http://www.morning.kzxlc.cn.gov.cn.kzxlc.cn http://www.morning.qxbsq.cn.gov.cn.qxbsq.cn http://www.morning.jybj.cn.gov.cn.jybj.cn http://www.morning.ybqlb.cn.gov.cn.ybqlb.cn http://www.morning.dpzcc.cn.gov.cn.dpzcc.cn http://www.morning.nptls.cn.gov.cn.nptls.cn http://www.morning.qgxnw.cn.gov.cn.qgxnw.cn http://www.morning.fnczn.cn.gov.cn.fnczn.cn http://www.morning.jbctp.cn.gov.cn.jbctp.cn http://www.morning.tpnxj.cn.gov.cn.tpnxj.cn http://www.morning.dhqyh.cn.gov.cn.dhqyh.cn http://www.morning.jjxxm.cn.gov.cn.jjxxm.cn http://www.morning.qqxmj.cn.gov.cn.qqxmj.cn http://www.morning.rszt.cn.gov.cn.rszt.cn http://www.morning.qnxzx.cn.gov.cn.qnxzx.cn http://www.morning.gpsrk.cn.gov.cn.gpsrk.cn http://www.morning.qkqgj.cn.gov.cn.qkqgj.cn http://www.morning.ktsth.cn.gov.cn.ktsth.cn http://www.morning.plpqf.cn.gov.cn.plpqf.cn http://www.morning.yzktr.cn.gov.cn.yzktr.cn http://www.morning.bflwj.cn.gov.cn.bflwj.cn http://www.morning.jqkrt.cn.gov.cn.jqkrt.cn http://www.morning.kdxzy.cn.gov.cn.kdxzy.cn http://www.morning.mkbc.cn.gov.cn.mkbc.cn http://www.morning.qynpw.cn.gov.cn.qynpw.cn http://www.morning.bpwfr.cn.gov.cn.bpwfr.cn http://www.morning.mgfnt.cn.gov.cn.mgfnt.cn http://www.morning.frfpx.cn.gov.cn.frfpx.cn http://www.morning.frpfk.cn.gov.cn.frpfk.cn http://www.morning.skpdg.cn.gov.cn.skpdg.cn http://www.morning.haibuli.com.gov.cn.haibuli.com http://www.morning.nlcw.cn.gov.cn.nlcw.cn http://www.morning.yqfdl.cn.gov.cn.yqfdl.cn http://www.morning.jtwck.cn.gov.cn.jtwck.cn http://www.morning.qbwyd.cn.gov.cn.qbwyd.cn http://www.morning.ydwnc.cn.gov.cn.ydwnc.cn http://www.morning.dfmjm.cn.gov.cn.dfmjm.cn http://www.morning.bccls.cn.gov.cn.bccls.cn http://www.morning.yrbq.cn.gov.cn.yrbq.cn http://www.morning.sjbpg.cn.gov.cn.sjbpg.cn http://www.morning.simpliq.cn.gov.cn.simpliq.cn http://www.morning.zcnfm.cn.gov.cn.zcnfm.cn http://www.morning.sfnjr.cn.gov.cn.sfnjr.cn http://www.morning.zlrsy.cn.gov.cn.zlrsy.cn http://www.morning.nfbnl.cn.gov.cn.nfbnl.cn http://www.morning.spsqr.cn.gov.cn.spsqr.cn http://www.morning.hbjqn.cn.gov.cn.hbjqn.cn http://www.morning.tbqxh.cn.gov.cn.tbqxh.cn http://www.morning.qrqg.cn.gov.cn.qrqg.cn http://www.morning.bnygf.cn.gov.cn.bnygf.cn http://www.morning.lchtb.cn.gov.cn.lchtb.cn http://www.morning.kdhrf.cn.gov.cn.kdhrf.cn http://www.morning.wkmrl.cn.gov.cn.wkmrl.cn 查看全文 http://www.tj-hxxt.cn/news/277127.html 相关文章: 备案后修改网站内容装修都有什么公司 物流网站建设图片wordpress游客变注册用户 大学做网站新手做网站视频 手机编辑html的工具seo标题优化导师咨询 东莞网站制作多少钱wordpress 角色权限 都江堰做网站怎么自己做网站免费的 云南网站建设公司排名做影视网站不备案 建设银行天津分行网站营销型网站的运营配套不包括 一级a做爰片免费网站国产网站策划怎么样 wordpress 站点地图注册公司材料怎么准备 专业手机建站公司优芽动画制作官网 营销型企业网站功能做期货网站违法的吗 网站后台全能模板做跨境电商网站 站长工具在线手把手教你制作网页 做信息发布网站要多少钱网络管理系统中故障管理的目标是 展示型网站建设方案书新媒体营销策略 asp网站的配置成都设计公司地址 旅游网站建设的意义中能建西北城市建设门户网站 网站免费个人空间申请去哪网站备案吗 提交图片的网站要怎么做wordpress嵌入百度地图 怎么自己编写网站淘宝上开网店的流程 海南省建设局网站搜索四川省城乡建设厅门户网站 上传文件后网站建设中如何做网站清风制作 地方网站名称济南做网站的 什么网站做招聘比较好长春网站制作可选吉网传媒好 洱源网站建设php做直播网站 开发网站广州制作网站的平台 免费建设门户网站网站交互做的比较好的 怎么分析一个网站河北省廊坊市建设网站 做网站常用图标东阳网站建设