|
|
|
|
移动端

申博太阳城开户网:如何用慢查询找到 Redis 的性能瓶颈?

本文来源:http://www.2233122.com/www_jp14_com/

太阳城娱乐网最快登入,国广控股以建设立足本土、面向国际的新型文化传媒产业集团为愿景,实施"全媒体、大文化"及人才强企战略,正在为承担使命,回报股东,回馈员工,回馈社会而全力奋斗。而正确的关注点应该在于,基于我们的研究结论,人们该如何进行更多耐药菌方面的深入系统研究,以及将来使用何种方法来减少耐药菌。报道称,当年成绩排在洛之前的三位女运动员相继因兴奋剂问题被取消奖牌资格俄罗斯运动员安娜·奇切罗娃、叶连娜·斯列萨连科和乌克兰运动员维塔·帕拉马尔她的成绩由此上升到了第三位。照常理,一般车主出了事故都会第一时间报警,就算去医院包扎也不会影响打电话报警。

还有报道称,等特朗普搬到白宫后,安保费用可能更高,有可能每天超过200万美元。  经查,艾宝俊严重违反政治纪律,欺骗组织,对抗组织审查;严重违反组织纪律,利用职务上的便利在干部选拔任用方面为他人谋取利益并收受财物,不按规定如实报告个人有关事项;严重违反廉洁纪律,收受礼品、礼金,利用职务上的便利为亲属经营活动谋取利益,搞权色交易;严重违反中央八项规定精神,多次违规出入私人会所、打高尔夫球;利用职务上的便利非法占有公共财物,在企业经营方面为他人谋取利益并收受财物。罗晋温柔体贴,比唐嫣大2岁。  本月的传闻显示,苹果可能推出一款屏幕尺寸更大的iPhone,以及新款iPhone的外框可能会采用钢材料制造。

  报道还说,韩国政府虽然已经对给老旧柴油车安装减排装置给予资金支援,但由于普通大众关注度不足,改善雾霾现状还有很长的路要走。唐先生在辛亥年间还是幼童,革命军与八旗驻防惨烈交战,待革命军杀入旗营,驻防将士及其家眷悉数服毒自尽,幼年的唐圭璋因服药较少得以幸存,后被一家市民收养。当反满从主义变成鲜血淋漓的生死场,主义的动机、目的及其实践方式便会遭遇摇晃、质疑,甚至最终的放弃。吴法宪这样一个人,不能说他没有为人民做出过贡献。

Redis数据库是一个基于内存的 key-value存储系统,现在redis最常用的使用场景就是存储缓存用的数据,在需要高速读/写的场合使用它快速读/写,从而缓解应用数据库的压力,进而提升应用处理能力。

作者:twt社区来源:talkwithtrend|2019-09-11 10:23

Redis数据库是一个基于内存的 key-value存储系统,现在redis最常用的使用场景就是存储缓存用的数据,在需要高速读/写的场合使用它快速读/写,从而缓解应用数据库的压力,进而提升应用处理能力。

由于Redis的单线程架构,所以需要每个命令能被快速执行完,否则会存在阻塞Redis的可能,理解Redis单线程命令处理机制是开发和运维Redis的核心之一。

许多数据库会提供慢查询日志帮助开发和运维人员定位系统存在的慢操作。所谓慢查询日志就是系统在命令执行前后计算每条命令的执行时间,当然在数据库中最常见的就是select这些sql语句了,当超过预设阀值,就将这条命令的相关信息(例如:发生时间,耗时,命令的详细信息)记录下来,Redis也提供了类似的功能。

那么如何使用Redis所提供的慢查询功能呢?Redis主要提供了slowlog-log-slower-than和slowlog-max-len两个配置参数来提供这项功能。两项参数分别用来设置慢查询的阈值以及存放慢查询的记录。首先对redis的这两个配置进行一个说明 :

从字面意思就可以看出,可以通过slowlog-log-slower-than参数设置什么情况下是慢语句,只有redis命令执行时间大于slowlog-log-slower-than的才会定义成慢查询,才会被slowlog进行记录。它的单位是微秒(1秒=1000毫秒=1000000微秒),在初始情况下默认值是10000,也就是10ms,假如执行了一条比较慢的命令,如果它的执行时间超过了 10ms ,那么它将被记录在慢查询日志中。(如果slowlog-log-slower-than=0会记录所有的命令,slowlog-log-slower than<0对于任何命令都不会进行记录)

从字面意思看,slowlog-max-len说明了慢查询日志最多可以存储多少条记录,实际上Redis使用了一个列表来存储慢查询日志,slowlog-max-len就是列表的最大长度,它自身是一个先进先出队列,当slowlog超过设定的最大值后,会将最早的slowlog删除。简而言之当一个新的命令满足慢查询条件时会被插入到这个列表中,当慢查询日志列表已处于其最大长度时,最早插入的一个命令将从列表中移出,例如slowlog-max-len设置为 50 ,当有第51条慢查询插入的话,那么队头的第一条数据就出列,第51条慢查询就会入列。

接下来详细介绍一下如何配置这两个参数,有两种方式进行配置,以下截图全部使用了redis -5.0.5版本 :

方式一:通过配置redis.conf文件进行配置。

通过修改redis .conf文件之后重启redis服务 , 配置即可生效 。

方式二:通过CONFIG命令进行动态配置

配置查询时间超过1毫秒的命令进行记录

保存500条慢查记录

通过config get命令确认配置已生效

要注意通过config命令配置的为动态生效 , 一旦服务重启则会重新恢复为默认设置 , 所以建议在排查问题时通过config这种方式进行配置 , 但是服务稳定后通过修改配置文件方式进行最终确认 (可以通过config rewrite命令持久化到本地文件 , 但要主要启动redis时要指定redis . conf文件 该命令才可以生效)。

相关的参数已经设置完成了 , 那么如何查看记录的信息呢 ?要想查看所记录的日志 , 主要使用 SLOWLOG GET 或者 SLOWLOG GET number 命令,前者将会输出所有的 slow log ,最大长度取决于 slowlog-max-len 选项的值,而 SLOWLOG GET number 则只打印指定数量的日志。

查看当前日志数量: 使用SHOW LEN命令查看日志数量。

因为我是新安装的redis , 所以现在还没有耗时长日志 , 所以条数是 0,如果日志条数过多,还可以使用slowlog reset命令进行日志清空 。

为了方便演示 ,我将所有的执行命令都记录了下来,以第一条为例,

1、(integer) 1 # 唯一性(unique)的日志标识符

2、(integer) 1562075522 # 被记录命令的执行时间点,以 UNIX 时间戳格式表示

3、(integer) 93 # 查询执行时间,以微秒为单位

4、1."CONFIG" # 执行的命令,以数组的形式排列

5、"GET"

6、" " # 这里完整的命令是 CONFIG GET

慢查询功能可以有效地帮助我们找到Redis可能存在的瓶颈,但在实际使用过程中要注意以下几点:

  • slowlog-max-len配置建议:线上建议调大慢查询列表,记录慢查询时 Redis会对长命令做截断操作,并不会占用大量内存。增大慢查询列表可以减缓慢查询被剔除的可能,例如线上可设置为 2000 以上(5.0.5版本默认为128)。
  • slowlog-log-slower-than配置建议:默认值超过10毫秒判定为慢查询,需要根据Redis并发量调整该值。由于Redis采用单线程响应命令,对于高流量的场景,如果命令执行时间在1毫秒以上,那么Redis最多可支撑OPS不到1000。因此对于高OPS场景的Redis建议设置为1毫秒(OPS指每秒操作次数)。
  • 慢查询只记录命令执行时间,并不包括命令排队和网络传输时间。因此客户端执行命令的时间会大于命令实际执行时间。因为命令执行排队机制,慢查询会导致其他命令级联阻塞,因此当客户端出现请求超时,需要检查该时间点是否有对应的慢查询,从而分析出是否为慢查询导致的命令级联阻塞。
  • 由于慢查询日志是一个先进先出的队列,也就是说如果慢查询比较多的情况下,可能会丢失部分慢查询命令,为了防止这种情况发生,可以定期执行slow get命令将慢查询日志持久化到其他存储中,然后可以进行相关的监控、告警、分析工作。

【编辑推荐】

  1. Redis中主从、哨兵、分片集群入门篇
  2. 技术加持 生态助力 英特尔携手京东打造超强性能云硬盘
  3. 云存储性能:可用性和持久性之间的差异
  4. 西部数据公司产品市场部副总裁朱海翔:用新技术突破存储架构瓶颈,赋能数据中心存储转型
  5. 运维升级篇:Docker网络与存储
【责任编辑:武晓燕 TEL:(010)68476606】

点赞 0
分享:
大家都在看
猜你喜欢

订阅专栏+更多

这就是5G

太阳城娱乐网最快登入这就是5G

5G那些事儿
共15章 | armmay

120人订阅学习

16招轻松掌握PPT技巧

太阳城娱乐网最快登入16招轻松掌握PPT技巧

GET职场加薪技能
共16章 | 晒书包

371人订阅学习

20个局域网建设改造案例

20个局域网建设改造案例

网络搭建技巧
共20章 | 捷哥CCIE

765人订阅学习

读 书 +更多

Visual C++编程从基础到实践

Visual C++ 6.0是Microsoft公司的Visual Studio开发组件中最强大的编程工具,利用它可以开发出高性能的应用程序。本书由浅入深,从基础到实...

订阅51CTO邮刊

点击这里查看样刊

订阅51CTO邮刊

51CTO服务号

51CTO官微

申博登录网址登入 申博亚洲娱乐官网直营 申博代理官网正网 菲律宾申博娱乐城官网 申博支付宝充值 申博138娱乐登入
申博真人娱乐官网直营 申博138真人娱乐直营网 菲律宾申博138娱乐网直营 申博官方太阳城赌场直营网 太阳城娱乐138申博直营网 菲律宾申博直营网
太阳城申博娱乐官网直营网 旧版太阳城直营网 申博游戏登录直营网 菲律宾申博怎么登入 菲律宾网上娱乐登入 申博开户网登入