redis-FEnchmark
redis-FEnchmark -h {IP} -p {Port} -a {password} -n {nreqs} -r {randomkeys} -c {connect_numFEr} -d {datasize} -t {command}
-c {connect_numFEr}:200,-n {nreqs}:10000000,-r {randomkeys}:1000000,-d {datasize}:32。
-h表示实例的域名连接地址或IP地址。
-p表示实例的端口,默认为6379。
-a表示实例的连接密码,免密连接的实例无需输入-a {password}。
-t表示执行具体测试命令合集。例如只测试set命令时,使用-t set;如果要测试ping、get、set命令,则使用 -t ping,set,get,命令间使用","分隔。
-c表示客户端连接数。
-d表示单条数据大小,单位Byte。
-n表示测试包数量。
-r表示使用随机key数量。
redis-FEnchmark 测试cluster集群实例时需要加 --cluster 参数,其他实例类型不需要加。
如果想对cluster集群的最大连接数进行性能压测,但是压测到1万连接时程序退出,或者报错 Cannot assign requested address。这说明是测试用的ECS本机性能不足,请先检查自己是否只用了1台ECS进行压测。想要对集群压测,建议准备3台ECS,每台ECS起3个redis-FEnchmark来测试redis实例的最大连接数。
redis-cli
redis-cli常用选项
-h :服务器的主机名,可以是IP或者域名
-p :服务器的端口,默认是6379
-a :连接服务器的密码,免密连接的实例无需输入-a {password}
-r :执行指定命令N次
-n :数据库编号,默认是0
-c :启用集群模式(遵循-ASK和-MOVED重定向)
--latency :进入特殊模式连续采样延迟
--scan :非阻塞式的扫描键空间(区别于keys *扫描键空间会导致redis-server阻塞)
--eval :使用Lua脚本发送EVAL命令
-x :读取STDIN中的最后一个参数
--bigscan :扫描数据集的大key
--raw : 如果显示数据是这样的'\xe4\xb8'十六进制编码,可以尝试加--raw转为直接显示原始数据
memtier_FEnchmark
memtier_FEnchmark常用选项
-s :表示实例的域名连接地址或IP地址。
-p :表示实例的端口,默认为6379。
-t :表示基准测试使用的线程数量。例如,-t 4表示使用4个线程。
-c :指定并发客户端的数量。例如,-c 50表示同时有50个客户端并发连接。
-d :表示单条数据大小,单位:byte。
-n :指定每个客户端发送的请求数。
-a :表示实例的连接密码,免密连接的实例无需配置。
--ratio :指定SET:GET操作的比例。例如,--ratio=1:0表示写读比例为1:0。
--test-time :表示指定测试的持续时间,单位:秒。该选项不能和-n同时使用。
--key-prefix :表示压测键的前缀。
--key-minimum :表示指定键的最小值,默认值为0。
--key-maximum <max_key>:表示指定键的最大值,默认值为10000000。
--key-pattern :指定键的生成模式。默认值为R:R,表示键是随机生成的。