`
fantaxy025025
  • 浏览: 1311758 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类

Redis性能测试Redis-benchmark

 
阅读更多

=

最近排查redis的问题和优化,真费劲儿。

功夫都在细节处。

=

测试暂时用的脚本如下,还是能发现不少问题的。

-c并发数,

-n请求数,

-q仅仅输出简要结果避免太长,

-d以字节的形式指定 SET/GET 值的数据大小,

-r(Use random keys 且 指定key的长度,比如30)

./redis-benchmark -n 1000000 -q

./redis-benchmark -n 1000000 -q -r 30

./redis-benchmark -n 1000000 -q -r 50

./redis-benchmark -n 1000000 -q -r 80

./redis-benchmark -n 1000000 -q -r 30

./redis-benchmark -n 1000000 -q -r 30 -c 50

./redis-benchmark -n 1000000 -q -r 30 -c 50 -d 1024

./redis-benchmark -n 1000000 -q -r 30 -c 50 -d 2048

./redis-benchmark -n 1000000 -q -r 30 -d 398092

=

#首先看看标准文档,其实总比各种文要全。排查问题,很多还得弄的仔细些。

./redis-benchmark --help

Usage: redis-benchmark [-h <host>] [-p <port>] [-c <clients>] [-n <requests]> [-k <boolean>]

 

 -h <hostname>      Server hostname (default 127.0.0.1)

 -p <port>          Server port (default 6379)

 -s <socket>        Server socket (overrides host and port)

 -a <password>      Password for Redis Auth

 -c <clients>       Number of parallel connections (default 50)

 -n <requests>      Total number of requests (default 100000)

 -d <size>          Data size of SET/GET value in bytes (default 2)

 -dbnum <db>        SELECT the specified db number (default 0)

 -k <boolean>       1=keep alive 0=reconnect (default 1)

 -r <keyspacelen>   Use random keys for SET/GET/INCR, random values for SADD

  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.

 -P <numreq>        Pipeline <numreq> requests. Default 1 (no pipeline).

 -e                 If server replies with errors, show them on stdout.

                    (no more than 1 error per second is displayed)

 -q                 Quiet. Just show query/sec values

 --csv              Output in CSV format

 -l                 Loop. Run the tests forever

 -t <tests>         Only run the comma separated list of tests. The test

                    names are the same as the ones produced as output.

 -I                 Idle mode. Just open N idle connections and wait.

 

Examples:

 

 Run the benchmark with the default configuration against 127.0.0.1:6379:

   $ redis-benchmark

 

 Use 20 parallel clients, for a total of 100k requests, against 192.168.1.1:

   $ redis-benchmark -h 192.168.1.1 -p 6379 -n 100000 -c 20

 

 Fill 127.0.0.1:6379 with about 1 million keys only using the SET test:

   $ redis-benchmark -t set -n 1000000 -r 100000000

 

 Benchmark 127.0.0.1:6379 for a few commands producing CSV output:

   $ redis-benchmark -t ping,set,get -n 100000 --csv

 

 Benchmark a specific command line:

   $ redis-benchmark -r 10000 -n 10000 eval 'return redis.call("ping")' 0

 

 Fill a list with 10000 random elements:

   $ redis-benchmark -r 10000 -n 10000 lpush mylist __rand_int__

 

 On user specified command lines __rand_int__ is replaced with a random integer

 with a range of values selected by the -r option.

 

#例子

测试命令事例:

1、redis-benchmark -h 192.168.1.201 -p 6379 -c 100 -n 100000 
100个并发连接,100000个请求,检测host为localhost 端口为6379的redis服务器性能 

2、redis-benchmark -h 192.168.1.201 -p 6379 -q -d 100  

测试存取大小为100字节的数据包的性能

3、redis-benchmark -t set,lpush -n 100000 -q

只测试某些操作的性能

4、redis-benchmark -n 100000 -q script load "redis.call('set','foo','bar')"

只测试某些数值存取的性能

 

中文参考:redis-benchmark http://www.runoob.com/redis/redis-benchmarks.html

redis-benchmark使用方法总结  https://blog.csdn.net/xubo245/article/details/48320689 中文翻译:

 -h <hostname>      Server hostname (default 127.0.0.1)                    //服务主机名  

 -p <port>          Server port (default 6379)                             //服务器端口号  

 -s <socket>        Server socket (overrides host and port)                //socket,覆盖host和port  

 -a <password>      Password for Redis Auth                                //密码  

 -c <clients>       Number of parallel connections (default 50)            //并行请求的客户端数量,默认50  

 -n <requests>      Total number of requests (default 100000)              //请求的总量,默认100000  

 -d <size>          Data size of SET/GET value in bytes (default 2)        //set或get的数据尺寸,单位是字节,默认是2  

 -dbnum <db>        SELECT the specified db number (default 0)             //选择指定的数据号  

 -k <boolean>       1=keep alive 0=reconnect (default 1)                   //布尔量,1代表保持活跃,0代表重连  

 -r <keyspacelen>   Use random keys for SET/GET/INCR, random values for SADD //set/get/incr使用随机的keys,SADD使用随机值...  

  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.  

 -P <numreq>        Pipeline <numreq> requests. Default 1 (no pipeline).    //管道请求,默认是1,没管道(并行?)  

 -q                 Quiet. Just show query/sec values                       //安静,仅仅展示每秒的查询值  

 --csv              Output in CSV format                                    //输出按CSV格式  

 -l                 Loop. Run the tests forever  

 -t <tests>         Only run the comma separated list of tests. The test    //仅仅运行tests  

                    names are the same as the ones produced as output.  

 -I                 Idle mode. Just open N idle connections and wait.       //闲置模型,进打开N个闲置链接且等待  

=

=

 

分享到:
评论

相关推荐

    Python库 | redis-benchmarks-specification-0.1.8.tar.gz

    标题中的"redis-benchmarks-specification-0.1.8.tar.gz"是一个针对Redis性能基准测试规范的Python库。这个库通常用于评估和比较不同版本的Redis或与Redis相关的实现,确保它们在处理大量数据、并发请求和其他关键...

    Redis稳定版 Redis-x64-5.0.14.1.zip

    - `redis-benchmark`: 性能测试工具,用于测量Redis的读写速度。 - `redis-check-aof`: 检查AOF日志文件的工具,确保其一致性。 - `redis-check-rdb`: 检查RDB快照文件的工具,确认数据无损。 安装Redis-x64-5.0....

    Redis-x64-3.2.100.zip

    - **redis-benchmark.exe**:Redis性能测试工具,用于测量Redis实例的读写速度和吞吐量。 - **redis-check-aof.exe**:用于检查和修复AOF持久化文件的工具。 3. **在Windows上部署Redis**: - 安装服务:使用`...

    Redis-x64-5.0.14.1

    - 可以通过`redis-benchmark.exe`进行性能测试,评估Redis在当前配置下的性能表现。 - 使用`redis-check-aof.exe`和`redis-check-rdb.exe`定期检查数据文件的完整性,确保数据安全。 5. **注意事项**: - ...

    redis集群与灾备-干货

    Redis 提供了多种工具和命令来帮助维护集群,例如 redis-cli、redis-benchmark 和 redis-stat 等。 Redis 集群搭建需要考虑多个方面的因素,包括架构设计、安装和配置、节点管理和维护等。本文提供了一个基本的 ...

    Redis-7.0.5-x64 for Windows 64位版 Redis 7.0.5

    10. **redis-benchmark.exe**: 性能测试工具,可以用来测量Redis服务器的吞吐量和响应时间,帮助优化服务器配置和硬件选择。 总的来说,Redis 7.0.5 for Windows 64位版提供了一套完整的工具集,不仅包含数据库...

    redis-windows-7.0.10.zip

    Redis的核心组件包括`redis-server.exe`(服务器进程)、`redis-cli.exe`(命令行客户端)以及`redis-benchmark.exe`(性能测试工具)等。用户需要通过`redis-server.exe`启动服务,并通过`redis-cli.exe`进行交互式...

    redis-6.2.13-x64-windows.zip

    - 可能还会有其他辅助工具,如检查磁盘空间的工具(check-disk-usage.sh)、性能测试工具(redis-benchmark.exe)等。 安装Redis时,你需要配置redis.conf以适应你的具体需求,比如设置监听端口、密码认证、数据...

    redis-6.2.14-win-amd64

    1. **bin**目录:包含了Redis服务器(redis-server.exe)、客户端(redis-cli.exe)和其他工具,如检查数据一致性(redis-check-dump.exe)和键空间通知(redis-benchmark.exe)等。 2. **conf**目录:存放Redis的...

    redis-windows-7.2.2.zip

    5. **redis-benchmark.exe**:性能测试工具,可以用来测量Redis服务器的读写速度,评估系统的性能瓶颈。 在Windows上部署Redis,首先需要解压文件,然后修改`redis.conf`以适应你的环境,例如设置监听IP为`bind 0.0...

    redis-6.2.4-x64-windows-bin.zip

    修复不受支持的配置上的 redis-benchmark 崩溃 ( #8916 ) 其他错误修复: 修复 UNLINK 在 deleted consumer groups 的 stream key 上的崩溃( #8932 ) SINTERSTORE:当不存在任何 sources 时添加丢失的 keyspace ...

    redis-7.2-x64-for-windows-bin.zip

    10. **redis-benchmark.exe**: 这是Redis的性能测试工具,可以用来衡量Redis服务器的吞吐量和响应时间,帮助优化配置和硬件选择。 11. **data**: 这个目录可能包含Redis默认的数据存储位置,用户可以将Redis的数据...

    redis的windows版Redis-x64-3.2.100

    3. redis-benchmark.exe:性能测试工具,可以模拟大量并发连接,测试Redis服务器的性能。 4. redis-check-dump.exe:检查RDB持久化文件的工具。 5. redis-check-aof.exe:检查AOF持久化文件的工具。 6. 配置文件...

    redis-WIN-3.2-免安装版本

    - `redis-benchmark.exe`: 性能测试工具。 - `redis-check-dump.exe`: RDB文件检查工具。 - `redis-check-aof.exe`: AOF文件检查工具。 - `redis.conf`: 默认配置文件,可按需修改以配置Redis服务器。 - 其他辅助...

    Windows版本Redis-x64-5.0.14安装包

    2. **redis-benchmark.exe**:这是一个性能测试工具,可以用来测量Redis服务器的读写速度。 3. **redis-cli.pdb**:客户端命令行界面的调试信息文件。 4. **redis-check-aof.pdb**:用于检查Append Only File(AOF)...

    redis-benchmark.exe

    redis-benchmark.exe--

    Redis-x64-4.0.14.2.zip + redis-desktop-manager-0.7.6.15

    "redis-benchmark.exe"是性能测试工具,用于评估Redis服务器的性能指标,如吞吐量和响应时间。 "EventLog.dll"可能是一个用于记录和管理Windows事件日志的动态链接库,它可以帮助Redis服务在Windows上记录和报告...

    redis-windows-redis7.0.5.zip

    4. `redis-benchmark.exe`:性能测试工具,可以评估Redis的读写速度和吞吐量。 5. 可能还包括一些文档、示例配置、依赖库等辅助文件。 在实际部署和使用中,用户需要根据自己的需求配置`redis.windows.conf`,如...

    Redis-x64-3.2.100.zip和Redis-x64-3.2.100.msi

    解压这个文件后,你可以找到Redis服务器的所有组件,包括`redis-server.exe`(主服务进程)、`redis-cli.exe`(命令行客户端)、`redis-benchmark.exe`(性能测试工具)和`redis-check-dump.exe`等实用工具。...

    Redis windows解压版 Redis-x64-3.2.100.zip

    3. `redis-benchmark.exe`: 性能测试工具,用于评估Redis服务器的吞吐量和延迟。 4. `redis-check-dump.exe`: 用于检查RDB持久化文件的工具,确保数据的完整性。 5. `redis-check-aof.exe`: 检查AOF(Append Only ...

Global site tag (gtag.js) - Google Analytics