惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

阮一峰的网络日志
阮一峰的网络日志
J
Java Code Geeks
Martin Fowler
Martin Fowler
宝玉的分享
宝玉的分享
V
Visual Studio Blog
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
M
MIT News - Artificial intelligence
U
Unit 42
博客园 - 三生石上(FineUI控件)
博客园 - 聂微东
The GitHub Blog
The GitHub Blog
I
InfoQ
WordPress大学
WordPress大学
H
Help Net Security
D
Docker
B
Blog
腾讯CDC
A
About on SuperTechFans
Recent Announcements
Recent Announcements
雷峰网
雷峰网
有赞技术团队
有赞技术团队
C
Check Point Blog
Y
Y Combinator Blog
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC

俗子

awk常用命令及功能 istio 配置 k8s 节点控制 dns 私有服务器 SeaFile 网盘 golang 私有包 verdaccio 前端私有源 chrony 时间同步 k8s 问题集锦 gitlab jenkins k8s 部署 linux 多显示器管理 mysql记录 nginx 日常 服务器ssh登录配置 域名信息收集工具 ssh port forward 逆向工具
redis拾遗-性能指标
俗子 · 2018-10-23 · via 俗子

redis 性能指标(info命令使用)

Summary

Info 指令显示的信息量非常大,可以分为9大块:

  • Server 服务器运行的环境参数
  • Clients 客户端相关信息
  • Memory 服务器运行内存统计数据
  • Persistence 持久化信息
  • Stats 通用统计数据
  • Replication 主从复制相关信息
  • CPU CPU 使用情况
  • Cluster 集群信息
  • KeySpace 键值对统计数量信息...

基本使用

1
2
// 慢日志相关
>slowlog [get|len|reset]
1
2
// 显示所有信息
>info
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
// 内存相关信息,依次类推,9个模块都可以
>info memory
\# Memory
used_memory:888952
used_memory_human:868.12K
used_memory_rss:5832704
used_memory_rss_human:5.56M
used_memory_peak:1031608
used_memory_peak_human:1007.43K
used_memory_peak_perc:86.17%
used_memory_overhead:842206
used_memory_startup:790648
used_memory_dataset:46746
used_memory_dataset_perc:47.55%
total_system_memory:8049872896
total_system_memory_human:7.50G
used_memory_lua:37888
used_memory_lua_human:37.00K
maxmemory:0
maxmemory_human:0B
maxmemory_policy:noeviction
mem_fragmentation_ratio:6.56
mem_allocator:jemalloc-5.1.0
active_defrag_running:0
lazyfree_pending_objects:0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
>info stats
\# Stats
total_connections_received:10
total_commands_processed:147
instantaneous_ops_per_sec:0
total_net_input_bytes:15473
total_net_output_bytes:22212
instantaneous_input_kbps:0.00
instantaneous_output_kbps:0.00
rejected_connections:0
sync_full:0
sync_partial_ok:0
sync_partial_err:0
expired_keys:0
expired_stale_perc:0.00
expired_time_cap_reached_count:0
evicted_keys:0
keyspace_hits:53
keyspace_misses:15
pubsub_channels:0
pubsub_patterns:0
latest_fork_usec:511
migrate_cached_sockets:0
slave_expires_tracked_keys:0
active_defrag_hits:0
active_defrag_misses:0
active_defrag_key_hits:0
active_defrag_key_misses:0

一些重要的指标

主要看两部分:(memory和stats) 详细数据,上面已经给出

Clients

参数 解释
connected_clients 连接的客户端数量
blocked_clients 等待阻塞命令的客户端的数量

memory

参数 解释
used_memory 内存使用率
used_memory_human 人性化显示
used_memory_rss 已分配的内存总量
mem_fragmentation_ratio 内存碎片率
used_memory_peak Redis 的内存消耗峰值

stats

参数 解释
total_connections_received 服务器已接受的连接请求数量
total_commands_processed 命令处理数
instantaneous_ops_per_sec 当前qps,每日秒执行命令数
instantaneous_input_kbps redis网络入口kps
instantaneous_output_kbps redis网络出口kps
rejected_connections 最大客户端数量限制而被拒绝的连接请求数量
expired_keys 过期而被自动删除的键数量
evicted_keys 最大内存容量限制而被驱逐的键数量
keyspace_hits 查找键成功的次数
keyspace_misses 查找键失败的次数

性能测试

一些主要命令的测试

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
>redis-benchmark -q
PING_INLINE: 87412.59 requests per second
PING_BULK: 87489.06 requests per second
SET: 80000.00 requests per second
GET: 82508.25 requests per second
INCR: 89686.10 requests per second
LPUSH: 88731.15 requests per second
RPUSH: 81499.59 requests per second
LPOP: 87489.06 requests per second
RPOP: 86058.52 requests per second
SADD: 90009.01 requests per second
HSET: 80000.00 requests per second
SPOP: 86281.27 requests per second
LPUSH (needed to benchmark LRANGE): 86880.97 requests per second
LRANGE_100 (first 100 elements): 53850.30 requests per second
LRANGE_300 (first 300 elements): 20399.84 requests per second
LRANGE_500 (first 450 elements): 14577.26 requests per second
LRANGE_600 (first 600 elements): 11630.61 requests per second
MSET (10 keys): 78308.54 requests per second

指定命令,添加管道

1
2
>redis-benchmark -t get -q -P 100
GET: 1388889.00 requests per second
选项 描述 默认值
-h 指定服务器主机名 127.0.0.1
-p 指定服务器端口 6379
-s 指定服务器 socket
-c 指定并发连接数 50
-n 指定请求数 10000
-d 以字节的形式指定SET/GET 值的数据大小 2
-k 1=keep alive 0=reconnect 1
-r SET/GET/INCR 使用随机 key, SADD 使用随机值
-P 通过管道传输 请求 1
-q 强制退出 redis。仅显示 query/sec 值
--csv 以 CSV 格式输出
-l 生成循环,永久执行测试
-t 仅运行以逗号分隔的测试命令列表。
-I Idle 模式,仅打开 N 个 idle 连接并等待