IT袋

当前位置:主页 > 经验教程 > 建站编程 >

Redis调优-BigKey如何处理

Redis调优-BigKey如何处理?(3)

时间:2024-03-24 15:00:25 来源:IT袋 作者:马勇
导读:Redis调优-BigKey如何处理,0.5ms  时就可以认为Redis 变慢了。 测试方法 执行以下命令,测试出这个实例60 秒内的最大响应延迟: ./redis-cli --intrinsic-latency 60[root@bogon src]# ./redis-cli --

Redis调优-BigKey如何处理

0.5ms 时就可以认为Redis 变慢了。

  • 测试方法

执行以下命令,测试出这个实例60 秒内的最大响应延迟:

./redis-cli --intrinsic-latency 60
[root@bogon src]# ./redis-cli --intrinsic-latency 60
Max latency so far: 1 microseconds.
Max latency so far: 25 microseconds.
Max latency so far: 220 microseconds.
Max latency so far: 253 microseconds.
Max latency so far: 351 microseconds.
Max latency so far: 448 microseconds.
Max latency so far: 514 microseconds.
1706810010 total runs (avg latency: 0.0352 microseconds / 35.15 nanoseconds per run).
Worst run took 14622x longer than the average latency.

从输出结果可以看到,这60 秒内的最大响应延迟为514 微秒(0.514 毫秒)。

还可以使用以下命令,查看一段时间内Redis 的最小、最大、平均访问延迟。如下:redis-cli 每隔1秒向 Redis 服务器发送一个 PING 命令,并测量其往返时间.

Redis-cli -h 127.0.0.1 -p 6379 --latency-history -i 1
[root@bogon src]# redis-cli -h 127.0.0.1 -p 6379 --latency-history -i 1
min: 0, max: 1, avg: 0.15 (82 samples) -- 1.01 seconds range
min: 0, max: 1, avg: 0.06 (80 samples) -- 1.00 seconds range
min: 0, max: 1, avg: 0.12 (82 samples) -- 1.00 seconds range
min: 0, max: 1, avg: 0.09 (81 samples) -- 1.01 seconds range
min: 0, max: 1, avg: 0.07 (82 samples) -- 1.00 seconds range
min: 0, max: 1, avg: 0.07 (82 samples) -- 1.01 seconds range

根据《阿里开发手册》如果你观察到的Redis 运行时延迟是其基线性能的2倍及以上,就可以认定Redis变慢了。

  1. 使用Redis慢日志

Redis 提供了慢日志命令的统计功能,它记录了有哪些命令在执行时耗时比较久。

例如,设置慢日志的阈值为5毫秒,并且保留最近10条慢日志记录:


# 命令执行耗时超过 5 毫秒,记录慢日志
CONFIG SET slowlog-log-slower-than 5000
# 只保留最近 10 条慢日志
CONFIG SET slowlog-max-len 10

如果你查询慢日志发现,并不是复杂度过高的命令导致的,而都是SET/DEL这种简单命令出现在慢日志中,那么你就要怀疑你的实例否写入了bigkey。

如何发现BigKey?

使用命令redis-cli --bigkeys给出每种数据结构最大的bigkey,同时给出每种数据类型的键值个数和平均大小。

redis-cli --bigkeys
[root@bogon src]# redis-cli --bigkeys
# Scanning the entire keyspace to find biggest keys as well as
# average sizes per key type.  You can use -i 0.1 to sleep 0.1 sec
# per 100 SCAN commands (not usually needed).
[00.00%] Biggest string found so far '"key162116"' with 6 bytes
[75.91%] Biggest string found so far '"key1000000"' with 7 bytes
[100.00%] Sampled 1000000 keys so far
-------- summary -------
Sampled 1000000 keys in the keyspace!
Total key length in bytes is 8888896 (avg len 8.89)
Biggest string found '"key1000000"' has 7 bytes
0 lists with 0 items (00.00% of keys, avg size 0.00)
0 hashs with 0 fields (00.00% of keys, avg size 0.00)
1000000 strings with 5888896 bytes (100.00% of keys, avg size 5.89)
0 streams with 0 entries (00.00% of keys, avg size 0.00)
0 sets with 0 members (00.00% of keys, avg size 0.00)
0 zsets with 0 members (00.00% of keys, avg size 0.00)

相关阅读

  • 跑马灯代码大全 html跑马灯文字代码

    跑马灯代码大全 html跑马灯文字代码

    全面为您解析跑马灯代码大全的介绍,下面IT袋网为您详细介绍 跑马灯(Marquee)效果是一种使文本或图片在页面上滚动的动画效果。 不念提供了一些跑马灯效果的代码示例,分别使用HTML、J

  • 网站建设制作中心 创建网站免费注册

    网站建设制作中心 创建网站免费注册

    如果想知道网站建设制作中心和创建网站免费注册的内容,具体详情如下: 在互联网时代,很多软件都把用户习惯培养起来了。用户对大部分软件的使用都有一种“无师自通”的感觉。但是在

  • lombok详解 深入解析Lombok框架

    lombok详解 深入解析Lombok框架

    小编为你介绍lombok详解的电脑小知识,一起来了解了解吧。 lombok是一个开源的代码生成库,能以简单的注解形式来简化Java类中的大量样板代码,提高开发人员的开发效率。 例如开发中经常需

  • 电脑c盘满了怎么清理? 电脑C盘空间不足怎么办

    电脑c盘满了怎么清理? 电脑C盘空间不足怎么办

    IT袋网网为你介绍电脑c盘满了怎么清理方面的内容,下面小编为您详细解答 电脑C盘空间不足时,您可能会遇到许多问题,包括电脑运行速度减慢,无法安装新应用程序,甚至系统崩溃。 因此