Redis调优-BigKey如何处理?(3)
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变慢了。
- 使用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跑马灯文字代码
全面为您解析跑马灯代码大全的介绍,下面IT袋网为您详细介绍 跑马灯(Marquee)效果是一种使文本或图片在页面上滚动的动画效果。 不念提供了一些跑马灯效果的代码示例,分别使用HTML、J
-
网站建设制作中心 创建网站免费注册
如果想知道网站建设制作中心和创建网站免费注册的内容,具体详情如下: 在互联网时代,很多软件都把用户习惯培养起来了。用户对大部分软件的使用都有一种“无师自通”的感觉。但是在
-
lombok详解 深入解析Lombok框架
小编为你介绍lombok详解的电脑小知识,一起来了解了解吧。 lombok是一个开源的代码生成库,能以简单的注解形式来简化Java类中的大量样板代码,提高开发人员的开发效率。 例如开发中经常需
-
电脑c盘满了怎么清理? 电脑C盘空间不足怎么办
IT袋网网为你介绍电脑c盘满了怎么清理方面的内容,下面小编为您详细解答 电脑C盘空间不足时,您可能会遇到许多问题,包括电脑运行速度减慢,无法安装新应用程序,甚至系统崩溃。 因此


