redis-benchmark性能测试

redis-benchmark——性能测试

1、redis-benchmark——性能测试:

Redis 性能测试是通过同时执行多个命令实现的。是一个压力测试工具,官方自带的压力测试工具!

语法

redis 性能测试的基本命令如下:

redis-benchmark [option] [option value]

注意:该命令是在 redis 的目录下执行的,而不是 redis 客户端的内部指令。

实例

以下实例同时执行 10000 个请求来检测性能:

$ redis-benchmark -n 10000  -q

PING_INLINE: 141043.72 requests per second
PING_BULK: 142857.14 requests per second
SET: 141442.72 requests per second
GET: 145348.83 requests per second
INCR: 137362.64 requests per second
LPUSH: 145348.83 requests per second
LPOP: 146198.83 requests per second
SADD: 146198.83 requests per second
SPOP: 149253.73 requests per second
LPUSH (needed to benchmark LRANGE): 148588.42 requests per second
LRANGE_100 (first 100 elements): 58411.21 requests per second
LRANGE_300 (first 300 elements): 21195.42 requests per second
LRANGE_500 (first 450 elements): 14539.11 requests per second
LRANGE_600 (first 600 elements): 10504.20 requests per second
MSET (10 keys): 93283.58 requests per second

redis 性能测试工具可选参数如下所示:

序号选项描述默认值
1-h指定服务器主机名127.0.0.1
2-p指定服务器端口6379
3-s指定服务器 socket
4-c指定并发连接数50
5-n指定请求数10000
6-d以字节的形式指定 SET/GET 值的数据大小2
7-k1=keep alive 0=reconnect1
8-rSET/GET/INCR 使用随机 key, SADD 使用随机值
9-P通过管道传输 请求1
10-q强制退出 redis。仅显示 query/sec 值
11–csv以 CSV 格式输出
12-l生成循环,永久执行测试
13-t仅运行以逗号分隔的测试命令列表。
14-IIdle 模式。仅打开 N 个 idle 连接并等待。

实例

以下实例我们使用了多个参数来测试 redis 性能:

$ redis-benchmark -h 127.0.0.1 -p 6379 -t set,lpush -n 10000 -q

SET: 146198.83 requests per second
LPUSH: 145560.41 requests per second

以上实例中主机为 127.0.0.1,端口号为 6379,执行的命令为 set,lpush,请求数为 10000,通过 -q 参数让结果只显示每秒执行的请求数。

2、redis-benchmark简单自我测试:

测试数据:

100个并发连接;

每个并发10w个请求;

1)、首先启动我们的redis服务器
[root@VM-0-9-centos bin]# redis-server wylconfig/redis.conf
28237:C 28 Mar 2021 16:12:54.350 # oO0OoO0OoO0Oo Redis is starting oO0OoO0OoO0Oo
28237:C 28 Mar 2021 16:12:54.350 # Redis version=5.0.8, bits=64, commit=00000000, modified=0, pid=28237, just started
28237:C 28 Mar 2021 16:12:54.350 # Configuration loaded
[root@VM-0-9-centos bin]# redis-cli -p 6379
127.0.0.1:6379>
2)、查看redis服务是否启动成功
[root@VM-0-9-centos ~]# ps -ef|grep redis
root     28238     1  0 16:12 ?        00:00:00 redis-server 127.0.0.1:6379
root     28319 20880  0 16:13 pts/1    00:00:00 redis-cli -p 6379
root     28556 24766  0 16:14 pts/2    00:00:00 grep --color=auto redis
[root@VM-0-9-centos ~]#

Bingo!

3)、执行压力测试命令:
[root@VM-0-9-centos bin]# redis-benchmark -h localhost -p 6379 -c 100 -n 100000
====== PING_INLINE ======
  100000 requests completed in 0.96 seconds
  100 parallel clients
  3 bytes payload
  keep alive: 1

96.95% <= 1 milliseconds
99.78% <= 2 milliseconds
99.91% <= 3 milliseconds
100.00% <= 3 milliseconds
104384.13 requests per second

====== PING_BULK ======
  100000 requests completed in 0.93 seconds
  100 parallel clients
  3 bytes payload
  keep alive: 1

97.86% <= 1 milliseconds
99.70% <= 3 milliseconds
99.80% <= 4 milliseconds
99.90% <= 10 milliseconds
100.00% <= 10 milliseconds
107642.62 requests per second

====== SET ======
# 对100000个请求进行写入测试
  100000 requests completed in 0.96 seconds
  # 100个并发
  100 parallel clients
  # 每次写入三个字节
  3 bytes payload
  # 只有一台服务器来处理这些请求:单机性能
  keep alive: 1

96.28% <= 1 milliseconds
99.93% <= 2 milliseconds
100.00% <= 2 milliseconds
# 每秒处理104275.29次情趣
104275.29 requests per second

====== GET ======
  100000 requests completed in 0.97 seconds
  100 parallel clients
  3 bytes payload
  keep alive: 1

96.13% <= 1 milliseconds
99.53% <= 2 milliseconds
99.72% <= 3 milliseconds
99.84% <= 4 milliseconds
99.92% <= 5 milliseconds
100.00% <= 5 milliseconds
103519.66 requests per second

====== INCR ======
  100000 requests completed in 0.97 seconds
  100 parallel clients
  3 bytes payload
  keep alive: 1

96.03% <= 1 milliseconds
99.72% <= 2 milliseconds
99.80% <= 3 milliseconds
99.90% <= 6 milliseconds
100.00% <= 6 milliseconds
103305.79 requests per second

====== LPUSH ======
  100000 requests completed in 0.98 seconds
  100 parallel clients
  3 bytes payload
  keep alive: 1

96.00% <= 1 milliseconds
100.00% <= 1 milliseconds
102564.10 requests per second

====== RPUSH ======
  100000 requests completed in 0.98 seconds
  100 parallel clients
  3 bytes payload
  keep alive: 1

95.47% <= 1 milliseconds
99.98% <= 2 milliseconds
100.00% <= 2 milliseconds
102564.10 requests per second

====== LPOP ======
  100000 requests completed in 0.99 seconds
  100 parallel clients
  3 bytes payload
  keep alive: 1

95.28% <= 1 milliseconds
99.68% <= 2 milliseconds
99.88% <= 3 milliseconds
99.90% <= 5 milliseconds
99.94% <= 6 milliseconds
100.00% <= 6 milliseconds
100806.45 requests per second

====== RPOP ======
  100000 requests completed in 0.96 seconds
  100 parallel clients
  3 bytes payload
  keep alive: 1

97.03% <= 1 milliseconds
100.00% <= 1 milliseconds
104275.29 requests per second

====== SADD ======
  100000 requests completed in 0.93 seconds
  100 parallel clients
  3 bytes payload
  keep alive: 1

97.69% <= 1 milliseconds
100.00% <= 1 milliseconds
107296.14 requests per second

====== HSET ======
  100000 requests completed in 1.00 seconds
  100 parallel clients
  3 bytes payload
  keep alive: 1

93.19% <= 1 milliseconds
99.81% <= 2 milliseconds
100.00% <= 2 milliseconds
99900.09 requests per second

====== SPOP ======
  100000 requests completed in 0.93 seconds
  100 parallel clients
  3 bytes payload
  keep alive: 1

97.93% <= 1 milliseconds
99.75% <= 2 milliseconds
99.85% <= 3 milliseconds
99.90% <= 4 milliseconds
99.99% <= 5 milliseconds
100.00% <= 5 milliseconds
107991.36 requests per second

====== LPUSH (needed to benchmark LRANGE) ======
  100000 requests completed in 1.02 seconds
  100 parallel clients
  3 bytes payload
  keep alive: 1

95.05% <= 1 milliseconds
99.64% <= 2 milliseconds
99.86% <= 3 milliseconds
99.90% <= 13 milliseconds
100.00% <= 13 milliseconds
97847.36 requests per second

====== LRANGE_100 (first 100 elements) ======
  100000 requests completed in 2.25 seconds
  100 parallel clients
  3 bytes payload
  keep alive: 1

0.40% <= 1 milliseconds
81.69% <= 2 milliseconds
99.65% <= 3 milliseconds
99.85% <= 4 milliseconds
99.95% <= 5 milliseconds
99.98% <= 6 milliseconds
100.00% <= 7 milliseconds
44523.60 requests per second

====== LRANGE_300 (first 300 elements) ======
  100000 requests completed in 5.47 seconds
  100 parallel clients
  3 bytes payload
  keep alive: 1

0.22% <= 1 milliseconds
1.90% <= 2 milliseconds
25.55% <= 3 milliseconds
56.23% <= 4 milliseconds
84.89% <= 5 milliseconds
96.96% <= 6 milliseconds
99.08% <= 7 milliseconds
99.83% <= 8 milliseconds
99.96% <= 9 milliseconds
100.00% <= 12 milliseconds
100.00% <= 14 milliseconds
18271.51 requests per second

====== LRANGE_500 (first 450 elements) ======
  100000 requests completed in 7.60 seconds
  100 parallel clients
  3 bytes payload
  keep alive: 1

0.26% <= 1 milliseconds
1.66% <= 2 milliseconds
5.15% <= 3 milliseconds
24.48% <= 4 milliseconds
46.51% <= 5 milliseconds
65.49% <= 6 milliseconds
83.56% <= 7 milliseconds
94.41% <= 8 milliseconds
97.96% <= 9 milliseconds
99.54% <= 10 milliseconds
99.94% <= 11 milliseconds
99.99% <= 13 milliseconds
99.99% <= 14 milliseconds
99.99% <= 15 milliseconds
100.00% <= 15 milliseconds
13164.82 requests per second

====== LRANGE_600 (first 600 elements) ======
  100000 requests completed in 10.20 seconds
  100 parallel clients
  3 bytes payload
  keep alive: 1

0.10% <= 1 milliseconds
0.89% <= 2 milliseconds
2.62% <= 3 milliseconds
5.47% <= 4 milliseconds
19.15% <= 5 milliseconds
35.72% <= 6 milliseconds
51.11% <= 7 milliseconds
64.03% <= 8 milliseconds
76.36% <= 9 milliseconds
87.29% <= 10 milliseconds
93.52% <= 11 milliseconds
97.06% <= 12 milliseconds
98.79% <= 13 milliseconds
99.57% <= 14 milliseconds
99.79% <= 15 milliseconds
99.89% <= 16 milliseconds
99.93% <= 17 milliseconds
99.96% <= 18 milliseconds
99.99% <= 19 milliseconds
100.00% <= 20 milliseconds
9802.96 requests per second

====== MSET (10 keys) ======
  100000 requests completed in 1.19 seconds
  100 parallel clients
  3 bytes payload
  keep alive: 1

67.46% <= 1 milliseconds
99.70% <= 2 milliseconds
99.90% <= 7 milliseconds
100.00% <= 7 milliseconds
84175.09 requests per second

分析:

====== SET ======
# 对100000个请求进行写入测试
  100000 requests completed in 0.96 seconds
  # 100个并发
  100 parallel clients
  # 每次写入三个字节
  3 bytes payload
  # 只有一台服务器来处理这些请求:单机性能
  keep alive: 1

96.28% <= 1 milliseconds
99.93% <= 2 milliseconds
100.00% <= 2 milliseconds
# 每秒处理104275.29次情趣
104275.29 requests per second
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值