Redis 开启monitor监视器的性能消耗

之前介绍了redis的monitor,今天有朋友问monitor是否能长时间开启,我知道monitor会有较大性能开销,但不清楚具体消耗的程度,就测试了一下

测试过程

以一个monitor为例,使用redis-benchmark分别测试monitor开启前后的性能 redis-benchmark -c 10 -n 100000 -q 开启前结果 PING_INLINE: 92506.94 requests per second PING_BULK: 97943.19 requests per second SET: 94786.73 requests per second GET: 99403.58 requests per second INCR: 89766.61 requests per second ...... 开启后结果 PING_INLINE: 76569.68 requests per second PING_BULK: 67294.75 requests per second SET: 44404.97 requests per second GET: 60132.29 requests per second INCR: 49382.71 requests per second ...... 结果对比 开启后的性能明显低了很多,例如: SET -53% GET -39% INCR -44%

实际案例

美团就遇到过monitor的性能影响问题 问题现象 redis-cluster中的某个分片内存飙升,明显高于其他分片,持续增长,并且主从的内存使用量并不一致 分析过程 (1)查看info信息,发现client_longest_output_list值异常 client_longest_output_list 是当前客户端连接的最大输出列表 此值过大说明输出缓冲区占用内存较大,也就是有大量的数据从Redis服务器向某些客户端输出 (2)使用client list命令查看omem值大于0的 client List 命令用于返回所有连接到服务器的客户端信息和统计数据 omem 表示输出缓冲区和输出列表占用的内存总量 查看结果列表,关注 cmd(最近一次执行的命令) 属性值,发现了异常:monitor,说明某client开启了监视器,造成大幅性能影响 所以通过自测和他人的案例,说明monitor只能用于短期调试,不能长期开启

原文发布于微信公众号 - 性能与架构(yogoup)

原文发表时间:2016-02-10

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏数据之美

玩转 Linux 之:磁盘分区、挂载知多少?

上周在做日志机扩容的时候,发现运维同学将一块硬盘的挂载点没有同以前的日志机保持一致,考虑到这会给日后的维护带来麻烦,于是尝试着手修改,在修改的同时,revie...

88610
来自专栏信安之路

web应用渗透测试流程

对于web应用的渗透测试,一般分为三个阶段:信息收集、漏洞发现以及漏洞利用。下面我们就分别谈谈每个阶段需要做的事情。

1290
来自专栏北京马哥教育

Linux 系统结构详解

Linux系统一般有4个主要部分: 内核、shell、文件系统和应用程序。内核、shell和文件系统一起形成了基本的操作系统结构,它们使得用户可以运行程序、管...

5143
来自专栏雨过天晴

转 PHP下的session的生存周期

1553
来自专栏沃趣科技

ASM 翻译系列第二弹:ASM 12C 版本新特性

原作者:Bane Radulovic 译者: 邱大龙 审核: 魏兴华 随着Oracle 12c的发布,也就意味着全新版本的ASM面世了。已知的重大新...

3634
来自专栏linux驱动个人学习

Linux进程上下文切换过程context_switch详解--Linux进程的管理与调度(二十一)

因此当前linux的调度程序由两个调度器组成:主调度器,周期性调度器(两者又统称为通用调度器(generic scheduler)或核心调度器(core sch...

2482
来自专栏个人分享

Redis应用配置项说明

# 默认情况下 redis 不是作为守护进程运行的,如果你想让它在后台运行,你就把它改成 yes。

1011
来自专栏FreeBuf

挖洞经验 | 一个价值$3133.7美金的Google漏洞

在对Google的安全研究中,由于其云服务平台“cloud.google.com” 具备多种功能,感觉有点意思,所以某天我决定来深入测试一下它。

1485
来自专栏枕边书

用Lua定制Redis命令

前言 Redis作为一个非常成功的数据库,提供了非常丰富的数据类型和命令,使用这些,我们可以轻易而高效地完成很多缓存操作,可是总有一些比较特殊的问题或需求需要解...

4697
来自专栏运维小白

10.23 linux任务计划cron

Linux任务计划 crontab -u、-e、-l、-r 格式:分 时 日 月 周 user command 文件/var/spool/cron/userna...

2009

扫码关注云+社区

领取腾讯云代金券