【Redis】benchmark 测试工具

本文涉及的产品
云数据库 Redis 版,社区版 2GB
推荐场景:
搭建游戏排行榜
简介: 【Redis】benchmark 测试工具

根据视频【动力节点】Redis入门到高级教程,全网最新最全redis缓存教程,redis百科大全 进行整理

视频对应资料 https://pan.baidu.com/s/1IlM4LAU2gQqUMeN_B48t8w?pwd=egl7 提取码:egl7


Redis 相关文章汇总归纳整理于:https://www.yuque.com/u27599042/ckgabz


benchmark 测试工具简介

  • 在 Redis 安装完毕后会自动安装一个 redis-benchmark 测试工具,其是一个压力测试工具,用于测试 Redis 的性能。

redis-benchmark 常用命令选项

  • 通过 redis-benchmark --help 命令可以查看到其命令选项及用法

redis-benchmark 常用命令选项说明

-h <hostname>      指定要进行测试的 Redis 服务器所在的主机 IP (默认 127.0.0.1)
 -p <port>          指定 Redis server 运行的端口 (默认 6379)
 -s <socket>        Server socket (overrides host and port)
 -a <password>      指定与 Redis server 连接进行操作的密码 Auth
 --user <username>  Used to send ACL style 'AUTH username pass'. Needs -a.
 -u <uri>           Server URI.
 -c <clients>       指定本次测试每个指令的并行连接 Redis server 的客户端数量 (default 50)
 -n <requests>      指定本次测试每个指令的请求总数 (default 100000)
 -d <size>          本次测试 set/get 数据大小,单位字节 (default 3)
 --dbnum <db>       指定数据库编号 (default 0)
 -3                 Start session in RESP3 protocol mode.
 --threads <num>    开启多线程模式,指定线程个数
 --cluster          Enable cluster mode.
                    If the command is supplied on the command line in cluster
                    mode, the key must contain "{tag}". Otherwise, the
                    command will not be sent to the right cluster node.
 --enable-tracking  Send CLIENT TRACKING on before starting benchmark.
 -k <boolean>       1=keep alive 0=reconnect (default 1) client 与 server 是否保持连接
 -r <keyspacelen>   Use random keys for SET/GET/INCR, random values for SADD,
                    random members and scores for ZADD.
                    Using this option the benchmark will expand the string
                    __rand_int__ inside an argument with a 12 digits number in
                    the specified range from 0 to keyspacelen-1. The
                    substitution changes every time a command is executed.
                    Default tests use this to hit random keys in the specified
                    range.
                    Note: If -r is omitted, all commands in a benchmark will
                    use the same key.
 -P <numreq>        Pipeline <numreq> requests. Default 1 (no pipeline).
 -q                 本次测试的报告,简要输出
 --precision        Number of decimal places to display in latency output (default 0)
 --csv              本次测试报告以 CSV 的形式格式化输出
 -l                 循环进行测试,一直测下去
 -t <tests>         指定要进行测试的命令(get,set,lpush...),如果要指定多个命令使用英文逗号分隔,不能有空格
                    默认情况下会测试所有命令
 -I                 Idle mode. Just open N idle connections and wait.
 -x                 Read last argument from STDIN.
 --help             Output this help and exit.
 --version          Output version and exit.

使用 benchmark 进行测试

  • 本次测试 Redis server 运行在的宿主机 IP 为 127.0.0.1,Redis server 监听端口号为 6379, 测试的并行连接客户端数量 100,每个命令请求总数 100000,数据大小 10 字节,连接 Redis server 的密码 123123

测试结果分析

  • benchmark 默认情况下,会逐个测试所有 Redis 命令,每个命令都会给出一份测试报告,每个测试报告由四部分构成

测试环境报告

  • 所有的请求在多少时间内完成
  • 并行客户端数量
  • 是否保持连接
  • 持久化保存配置
  • AOF 是否开启
  • 是否开启多线程

延迟百分比分布

  • 这是按照百分比进行的统计报告:每完成一次剩余测试量的 50% 就给出一个统计数据。

延迟的累积分布

  • 这是按照时间间隔统计的报告:基本是每 0.1 毫秒统计一次。

总述报告

  • 这是总述性报告

测试报告简要输出

相关实践学习
基于Redis实现在线游戏积分排行榜
本场景将介绍如何基于Redis数据库实现在线游戏中的游戏玩家积分排行榜功能。
云数据库 Redis 版使用教程
云数据库Redis版是兼容Redis协议标准的、提供持久化的内存数据库服务,基于高可靠双机热备架构及可无缝扩展的集群架构,满足高读写性能场景及容量需弹性变配的业务需求。 产品详情:https://www.aliyun.com/product/kvstore &nbsp; &nbsp; ------------------------------------------------------------------------- 阿里云数据库体验:数据库上云实战 开发者云会免费提供一台带自建MySQL的源数据库&nbsp;ECS 实例和一台目标数据库&nbsp;RDS实例。跟着指引,您可以一步步实现将ECS自建数据库迁移到目标数据库RDS。 点击下方链接,领取免费ECS&amp;RDS资源,30分钟完成数据库上云实战!https://developer.aliyun.com/adc/scenario/51eefbd1894e42f6bb9acacadd3f9121?spm=a2c6h.13788135.J_3257954370.9.4ba85f24utseFl
相关文章
|
19天前
|
网络协议 安全 测试技术
性能工具之emqtt-bench BenchMark 测试示例
【4月更文挑战第19天】在前面两篇文章中介绍了emqtt-bench工具和MQTT的入门压测,本文示例 emqtt_bench 对 MQTT Broker 做 Beachmark 测试,让大家对 MQTT消息中间 BenchMark 测试有个整体了解,方便平常在压测工作查阅。
113 7
性能工具之emqtt-bench BenchMark 测试示例
|
1天前
|
消息中间件 测试技术 Linux
linux实时操作系统xenomai x86平台基准测试(benchmark)
本文是关于Xenomai实时操作系统的基准测试,旨在评估其在低端x86平台上的性能。测试模仿了VxWorks的方法,关注CPU结构、指令集等因素对系统服务耗时的影响。测试项目包括信号量、互斥量、消息队列、任务切换等,通过比较操作前后的时戳来测量耗时,并排除中断和上下文切换的干扰。测试结果显示了各项操作的最小、平均和最大耗时,为程序优化提供参考。注意,所有数据基于特定硬件环境,测试用例使用Alchemy API编写。
8 0
linux实时操作系统xenomai x86平台基准测试(benchmark)
|
11月前
|
搜索推荐 算法
EasyRec在公开数据集上的benchmark测试
在pai平台上可公开读取的数据集,不用再费劲去下载和处理数据集: Taobao 数据集介绍 Avazu CTR 数据集 AliCCP 数据集 CENSUS 数据集
305 0
|
消息中间件 Kafka Apache
|
NoSQL 测试技术 Go
Golang周边 | Benchmark性能测试
Golang Benchmark性能测试
251 0
Golang周边 | Benchmark性能测试
|
测试技术 Apache
并发测试工具apache benchmark(ab)
并发测试工具apache benchmark(ab)
191 0
|
SQL 算法 Linux
【数据库】Star Schema Benchmark 标准测试集优化(三)
【数据库】Star Schema Benchmark 标准测试集优化(三)
65 1
【数据库】Star Schema Benchmark 标准测试集优化(三)
|
SQL Oracle 架构师
【数据库】Star Schema Benchmark 标准测试集优化(二)
【数据库】Star Schema Benchmark 标准测试集优化(二)
127 0
|
SQL 测试技术 数据库
【数据库】Star Schema Benchmark 标准测试集优化(一)
【数据库】Star Schema Benchmark 标准测试集优化(一)
144 0
|
测试技术 Go
Go 编程 | 连载 34 - Benchmark 基准测试
Go 编程 | 连载 34 - Benchmark 基准测试
Go 编程 | 连载 34 - Benchmark 基准测试

热门文章

最新文章