首页
✨运维
🎉安装
👀踩坑
🤷‍♂️学习
😊关于
  • 分类
  • 标签
  • 归档
GitHub

Summer

运维界的小白
首页
✨运维
🎉安装
👀踩坑
🤷‍♂️学习
😊关于
  • 分类
  • 标签
  • 归档
GitHub
  • K8s

  • shell

  • Zabbix

  • Python

  • Redis

    • redis什么
    • redis的优缺点
    • es和redis的特点
    • redis性能测试压测方案
      • redis做压测可以用自带的redis-benchmark工具
        • 语法
        • 实例(经实践redis4在其src目录下执行,redis5在其安装目录下执行即可)
    • redis参数说明
    • redis配置详解
    • redis集群的三种模式
    • redis为什么这么快
    • redis持久化
  • Elasticsearch

  • prometheus

  • Mysql

  • 学习
  • Redis
summer
2020-10-16

redis性能测试压测方案

# redis做压测可以用自带的redis-benchmark工具

Redis 之父 Salvatore 就说过:“通过执行GET/SET命令来测试Redis就像在雨天检测法拉利的雨刷清洁镜子的效果”。 很多时候人们跑到我这里,他们想知道为什么自己的Redis-Benchmark统计的结果低于最优结果 。 但我们必须要把各种不同的真实情况考虑进来,例如:

可能受到哪些客户端运行环境的限制?

是同一个版本号吗?

测试环境中的表现与应用将要运行的环境是否一致?

Redis-Benchmark的测试结果提供了一个保证你的 Redis-Server 不会运行在非正常状态下的基准点,但是你永远不要把它作为一个真实的“压力测试”。压力测试需要反应出应用的运行方式,并且需要一个尽可能的和生产相似的环境。

# 语法

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

redis-benchmark [option] [option value]
redis-benchmark -h 192.168.0.231 -p 27000 -c 50 -n 10000 -t get
-c表示连接数
-n表示请求数
更多参数请输入 --help 查看~
压测需要一段时间,因为它需要依次压测多个命令的结果,如:get、set、incr、lpush等等,所以我们需要耐心等待
如果只需要压测某个命令,如:get,那么可以在以上的命令后加一个参数-t(红色部分):
redis-benchmark -h 127.0.0.1 -p 6086 -c 50 -n 10000 -t get
1
2
3
4
5
6
7
8

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

# 实例(经实践redis4在其src目录下执行,redis5在其安装目录下执行即可)

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

[root@0b4ca1896e4e redis-5.0.8]# redis-benchmark -h 192.168.0.231 -p 27000 -c 50 -n 10000 -t get
====== GET ======
  10000 requests completed in 0.21 seconds //在0.21秒内完成10000个请求
  50 parallel clients //50个并行客户端
  3 bytes payload  //3字节有效载荷
  keep alive: 1 //保持活力:1

98.73% <= 1 milliseconds  //毫秒
99.51% <= 5 milliseconds
99.58% <= 6 milliseconds
99.72% <= 7 milliseconds
99.85% <= 8 milliseconds
99.99% <= 9 milliseconds
100.00% <= 9 milliseconds
46728.97 requests per second

[root@localhost src]# pwd
/home/smartmining/redis-4.0.11/src
[root@localhost src]# ./redis-benchmark -h 192.168.0.90 -p 27000 -c 50 -n 10000 -t get
====== GET ======
  10000 requests completed in 0.20 seconds
  50 parallel clients
  3 bytes payload
  keep alive: 1

89.75% <= 1 milliseconds
99.08% <= 2 milliseconds
100.00% <= 2 milliseconds
49504.95 requests per second
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
es和redis的特点
redis参数说明

← es和redis的特点 redis参数说明→

最近更新
01
redis持久化
12-08
02
redis为什么这么快
12-08
03
redis的优缺点
12-08
更多文章>
Theme by Vdoing | Copyright © 2019-2020 Evan Xu | MIT License
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式