【Redis】benchmark 测试工具

本文涉及的产品
云数据库 Tair(兼容Redis),内存型 2GB
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
相关文章
|
2月前
|
NoSQL 测试技术 Redis
Redis 性能测试
10月更文挑战第21天
44 2
|
2月前
|
存储 NoSQL 大数据
大数据-51 Redis 高可用方案CAP-AP 主从复制 一主一从 全量和增量同步 哨兵模式 docker-compose测试
大数据-51 Redis 高可用方案CAP-AP 主从复制 一主一从 全量和增量同步 哨兵模式 docker-compose测试
38 3
|
2月前
|
存储 Prometheus NoSQL
大数据-44 Redis 慢查询日志 监视器 慢查询测试学习
大数据-44 Redis 慢查询日志 监视器 慢查询测试学习
28 3
|
2月前
|
缓存 NoSQL Ubuntu
大数据-39 Redis 高并发分布式缓存 Ubuntu源码编译安装 云服务器 启动并测试 redis-server redis-cli
大数据-39 Redis 高并发分布式缓存 Ubuntu源码编译安装 云服务器 启动并测试 redis-server redis-cli
57 3
|
4月前
|
NoSQL Java Linux
Redis6入门到实战------ 六、Redis_Jedis_测试
这篇文章介绍了如何使用Jedis客户端连接Redis,并进行基本的数据类型操作测试,包括字符串、列表、集合、哈希和有序集合的相关API使用示例。
Redis6入门到实战------ 六、Redis_Jedis_测试
|
4月前
|
NoSQL Java Linux
Jedis测试redis。(redis在linux虚拟机中)
该博客文章提供了使用Jedis客户端连接Linux虚拟机中的Redis服务器的步骤,包括Maven依赖配置、测试用例编写以及测试结果的截图。
|
4月前
|
关系型数据库 MySQL OLTP
性能工具之 MySQL OLTP Sysbench BenchMark 测试示例
【8月更文挑战第6天】使用 pt-query-digest 工具分析 MySQL 慢日志性能工具之 MySQL OLTP Sysbench BenchMark 测试示例
305 0
性能工具之 MySQL OLTP Sysbench BenchMark 测试示例
|
4月前
|
缓存 NoSQL 测试技术
【Azure Redis 缓存 Azure Cache For Redis】使用Redis自带redis-benchmark.exe命令测试Azure Redis的性能
【Azure Redis 缓存 Azure Cache For Redis】使用Redis自带redis-benchmark.exe命令测试Azure Redis的性能
|
4月前
|
缓存 NoSQL 网络协议
【Azure Redis 缓存 Azure Cache For Redis】在创建高级层Redis(P1)集成虚拟网络(VNET)后,如何测试VNET中资源如何成功访问及配置白名单的效果
【Azure Redis 缓存 Azure Cache For Redis】在创建高级层Redis(P1)集成虚拟网络(VNET)后,如何测试VNET中资源如何成功访问及配置白名单的效果
|
6月前
|
存储 缓存 NoSQL
Redis性能测试实操记录与分析
Redis性能测试实操记录与分析
88 3