Summer's Blog
😈酷炫主页
✨运维
🎉安装
👀踩坑
  • k8s
  • shell
  • python
  • redis
  • elasticsearch
  • mysql
  • ceph
  • spark
  • 关于
  • 思维
  • 命令
  • 友链
  • 分类
  • 标签
  • 归档
👨‍👩‍👦‍👦腾讯云社区
🗣GitHub

Summer———夏苏文

💨运维界的前行者
😈酷炫主页
✨运维
🎉安装
👀踩坑
  • k8s
  • shell
  • python
  • redis
  • elasticsearch
  • mysql
  • ceph
  • spark
  • 关于
  • 思维
  • 命令
  • 友链
  • 分类
  • 标签
  • 归档
👨‍👩‍👦‍👦腾讯云社区
🗣GitHub
  • K8s

  • shell

  • spark

  • Python

  • Redis

    • redis深入探索
    • redis性能测试压测方案
      • redis做压测可以用自带的redis-benchmark工具
      • 实例
    • redis配置详解
    • redis集群的三种模式
  • ceph

  • Elasticsearch

  • Mysql

  • 学习
  • Redis
summer
2020-10-16

redis性能测试压测方案

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

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

  • 是同一个版本号吗?

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

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

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

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/summer/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
#redis
上次更新: 12/23/2020, 9:48:51 AM
redis深入探索
redis配置详解

← redis深入探索 redis配置详解→

最近更新
01
centos8安装部署ovirt-engine
11-21
02
安装Acunetix
11-02
03
三大漏洞扫描工具报告获取
05-24
更多文章>
Theme by Vdoing | Copyright © 2019-2022 夏苏文 | MIT License

网站已在灾难中运行:

蜀ICP备2022029853号-1
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式