[转帖]Redis压测工具(redis-benchmark)

redis,工具,benchmark · 浏览次数 : 0

小编点评

**目录 1、简介** * **redis-benchmark** 工具是模拟 N 个客户端同时发出 M 个请求的工具。 * 它类似于 Apache ab 程序。 * 它可以用于测试 Redis 的性能和并发性。 **目录 2、参数** * `-h <hostname>`: 指定服务器主机名。默认值 127.0.0.1。 * `-p <port>`: 指定服务器端口。默认值 6379。 * `-c <clients>`: 指定并发连接数。默认值 50。 * `-n <requests>`: 指定请求数。默认值 100000。 * `-d <size>`: 以字节的形式指定 SET/GET 值的数据大小。默认值 2。 * `--dbnum <db>`: 选择指定的数据库号。默认值 0。 * `-k <boolean>`: 设置 1 表示使用 Keep Alive 接続,否则使用 Reconnect。默认值 1。 * `-r <keyspacelen>`: 设置随机 key 的长度。默认值 128。 * `-P <numreq>`: 通过管道传输的请求数。默认值 100000。 * `-q`: 退出程序,仅显示 query/sec 值。默认值 0。 * `--csv`: 以 CSV 格式输出结果。默认值 0。 * `-l`: 生成循环,永久执行测试。默认值 0。 * `-t <tests>`: 仅运行以逗号分隔的测试命令列表。默认值 0。 * `-I Idle`: 打开 N 个 idle 连接并等待 3 秒。 **目录 3、操作** 1. 使用 `./redis-benchmark -h 127.0.0.1 -p 6379 -n 100000 -c 20 -q` 命令直接运行脚本。 2. 该脚本模拟 100 个客户端,每条请求设置一个键值对 "foo" 和 "bar"。 3. 运行 `./redis-benchmark -h 127.0.0.1 -p 6379 -c 100 -r 100000 -n 100000 -q` 命令进行压测,模拟 100 个客户端读取键 "foo" 的值。

正文

目录

1、简介

2、参数

3、操作


1、简介

Redis 自带了一个叫 redis-benchmark 的工具来模拟 N 个客户端同时发出 M 个请求。(类似于 Apache ab 程序)。

Redis下载地址:

https://redis.io/download

2、参数

redis-benchmark工具存放在Redis的src目录下。

使用 redis-benchmark -h 命令来查看使用参数

  1. redis-benchmark [-h <host>] [-p <port>] [-c <clients>] [-n <requests]> [-k <boolean>]
  2.  -h <hostname> 指定服务器主机名 (默认 127.0.0.1)
  3.  -p <port> 指定服务器端口 (默认 6379)
  4.  -s <socket> 指定服务器 socket
  5.  -a <password> Redis 认证密码
  6.  -c <clients> 指定并发连接数 (默认 50)
  7.  -n <requests> 指定请求数 (默认 100000)
  8.  -d <size> 以字节的形式指定 SET/GET 值的数据大小 (默认 2)
  9.  --dbnum <db> 选择指定的数据库号 (默认 0)
  10.  -k <boolean> 1=keep alive 0=reconnect (默认 1)
  11.  -r <keyspacelen> SET/GET/INCR 使用随机 key, SADD 使用随机值
  12.  -P <numreq> 通过管道传输 <numreq> 请求 (no pipeline)
  13.  -q 退出,仅显示 query/sec 值
  14.  --csv 以 CSV 格式输出
  15.  -l 生成循环,永久执行测试
  16.  -t <tests> 仅运行以逗号分隔的测试命令列表
  17.  -I Idle 模式,仅打开 N 个 idle 连接并等待

3、操作

以下命令在Linux环境下执行。

对127.0.0.1使用20个并行客户端,总共10万个请求

./redis-benchmark -h 127.0.0.1 -p 6379 -n 100000 -c 20 -q

使用直接命令来运行

./redis-benchmark -h 127.0.0.1 -p 6379 -n 100000 -q script load "redis.call('set','foo','bar')"

模拟100个客户端

./redis-benchmark -h 127.0.0.1 -p 6379 -c 100 -r 100000 -n 100000 -q

压测阿里云上的Redis

./redis-benchmark -h r-xxxxxxxx.redis.rds.aliyuncs.com -p 6379 -a xxxxxxx#Hq#hCD1GO$y2G6 -n 50000000 -c 200 -q

文章知识点与官方知识档案匹配,可进一步学习相关知识

与[转帖]Redis压测工具(redis-benchmark)相似的内容:

[转帖]Redis压测工具(redis-benchmark)

目录 1、简介 2、参数 3、操作 1、简介 Redis 自带了一个叫 redis-benchmark 的工具来模拟 N 个客户端同时发出 M 个请求。(类似于 Apache ab 程序)。 Redis下载地址: https://redis.io/download 2、参数 redis-benchm

[转帖]JMeter压测Redis

https://www.cnblogs.com/yjlch1016/p/14052402.html 一、Redis Data Set插件: https://jmeter-plugins.org/wiki/RedisDataSet/ 该插件只能用于查询List和Set类型的数据,不能做增删改 下载的压

[转帖]Redis 7 参数 修改 说明

2022-06-16 14:491800原创Redis 本文链接:https://www.cndba.cn/dave/article/108066 在之前的博客我们介绍了Redis 7 的安装和配置,如下: Linux 7.8 平台 Redis 7 安装并配置开机自启动 操作手册https://ww

[转帖]Redis 7.0 三节点哨兵(Sentinel)高可用 环境搭建手册

2022-06-17 16:253480原创Redis 本文链接:https://www.cndba.cn/dave/article/108088 1 哨兵高可用架构说明 Redis 最早的高可用方案是主从复制,但这种方案存在一个问题,就是当主库宕机后,从库不会自动切成主库,需要人工干预。 所有在主

[转帖]Redis 备份与恢复(RDB/AOF) 说明

2022-06-16 20:364580原创Redis 本文链接:https://www.cndba.cn/dave/article/108068 1 RDB 方式 1.1 RDB 备份恢复说明 Redis 的备份恢复有两种方法:RDB和AOF。 其中RDB 文件是一个经过压缩的二进制文件,有两个R

[转帖]Redis 性能优化的 13 条军规!史上最全

https://zhuanlan.zhihu.com/p/118532234 Redis性能优化实战方案 Redis 是基于单线程模型实现的,也就是 Redis 是使用一个线程来处理所有的客户端请求的,尽管 Redis 使用了非阻塞式 IO,并且对各种命令都做了优化(大部分命令操作时间复杂度都是 O

[转帖]Redis性能调优万字总结,面试必问!

https://zhuanlan.zhihu.com/p/541745804 于哥你好,最近面试挺多的,尤其是在问到java面试题,Redis被问的特别多,比如 Redis的内存模型? Redis的底层数据结构是怎么的? Redis的多线程模型 Redis的集群原理 Redis的雪崩,击穿,穿透怎么

[转帖]Redis连接未释放,造成TCP连接数过多

https://segmentfault.com/a/1190000022704886 早上看到服务器告警通知,TCP连接数比较高,达到5000多,我设置的阈值是5000,正常TCP连接不会这么高,这样的一个阈值我可以提前知道有问题早点解决,不至于后面引起一系列问题,甚至拖垮服务器。 排查 登陆服务

[转帖]Redis客户端Jedis、Lettuce、Redisson

https://www.jianshu.com/p/90a9e2eccd73 在SpringBoot2.x之后,原来使用的jedis被替换为了lettuce Jedis:采用的直连,BIO网络模型 Jedis有一个问题:多个线程使用一个连接的时候线程不安全。 解决思路是: 使用连接池,为每个请求创建

[转帖]Redis 的 Keys 和 Values 都是 512 M的限制

Redis 的 Keys 和 Values 都是 512 M的限制 官网介绍:https://redis.io/topics/data-types-intro