慢查询日志最佳实践线上环境建议-上海怡健医学

Redis慢查询日志帮助开发和运维人员定位系统存在的慢操作。慢查询日志就是系统在命令执行前后估算每条命令的执行时间,当超过预设阈值,就将这条命令的相关信息(慢查询ID,发生时间戳,历时,命令的详尽信息)记录出来。

Redis顾客端一条命令分为如下四部份执行:

图片[1]-慢查询日志最佳实践线上环境建议-上海怡健医学-唐朝资源网

须要注意的是,慢查询日志只是统计步骤3)执行命令的时间,所以慢查询并不代表顾客端没有超时问题。须要注意的是,慢查询日志只是统计步骤3)执行命令的时间,所以慢查询并不代表顾客端没有超时问题。

一、慢查询的配置参数:

slowlog-log-slower-than参数就是预设阈值,单位是纳秒,默认值是10000,若果一条命令的执行时间超过10000微妙,这么它将被记录在慢查询日志中。假如slowlog-log-slower-than的值是0基于网站日志数据挖掘的用户访问行为模式可视化研究,则会记录所有命令。假如slowlog-log-slower-than的值大于0,则任何命令都不会记录日志。

slowlog-max-len只是说明了慢查询日志最多储存多少条。Redis使用一个列表来储存慢查询日志,showlog-max-len就是列表的最大厚度。当慢查询日志早已抵达列表的最大厚度时,又有慢查询日志要步入列表,则最早插入列表的日志将会被移出列表,新日志被插入列表的末尾。

二、慢查询日志的组成

图片[2]-慢查询日志最佳实践线上环境建议-上海怡健医学-唐朝资源网

慢查询日志由以下四个属性组成:标示ID,发生时间戳,命令历时,执行命令和参数

三、慢查询日志的访问和管理

获取慢查询日志slowlogget[n]命令:slowlogget[N]选型:N,可选,代表获取的日志条数诸如:showlogget5

四、慢查询日志最佳实践

线带环境建议调大慢查询日志的列表,记录慢查询日志时Redis会对长命令做截断操作,并不会占用大量显存。减小慢查询列表可以减平缓查询被剔除出列表的可能性。诸如线上可以设置为1000以上。

须要依照redis的并发量调整该值。因为redis采用单线程响应名利,对于高流量的场景,倘若执行命令的时间在1微秒以上基于网站日志数据挖掘的用户访问行为模式可视化研究,这么redis最多可支撑OPS(每秒操作次数)不到1000,为此高OPS场景的REDIS建议设置为1微秒。

因而顾客端命令的执行时间要小于redis服务器实际执行命令的时间。由于命令执行排队极至,慢查询会造成命令级联阻塞,因而当顾客端出现恳求超时,须要检测该时间点是否有对应的慢查询,因而剖析是否由于慢查询造成的命令级联阻塞

慢查询较多的情况下,可能会遗失部份慢查询命令,可以定期执行slowget命令将慢查询日志持久化到其他储存中。之后制做可视化界面查询。

© 版权声明
THE END
喜欢就支持一下吧
点赞248赞赏 分享
评论 抢沙发
头像
欢迎您留下宝贵的见解!
提交
头像

昵称

取消
昵称表情代码图片

    暂无评论内容