最近在看redis相关的内容,redis有自带检测性能的命令:
-bash: redis-benchmark: command not found
碰到的所有资料中均提示不能在redis客户端中执行,因为这个不是客户端命令。所以必须要退出redis客户端再执行。
命令如下:
redis-benchmark -h 127.0.0.1 -p 6379 -t set,lpush -n 10000 -q
但是每次执行都会报错:
-bash: redis-benchmark: command not found
于是就去度娘,结果得到所有的资料均是要退出redis客户端 执行如上命令。
实在没有版本,所以自己尝试使用了如下命令
./redis-benchmark -h 127.0.0.1 -p 6379 -t set,lpush -n 10000 -q
成功了。
gjws-MacBook-Pro:src gjw$ ./redis-benchmark -h 127.0.0.1 -p 6379 -t set,lpush -n 10000 -q
SET: 35842.29 requests per second
LPUSH: 36101.08 requests per second
我使用的redis版本为:redis_version:2.8.17
希望有碰到类似问题能够给予帮助
常用的负载测试指令说明:
通过不断增加客户端和请求数,获取每秒钟的指令执行行数(./redis-benchmark -h 172.0.0.1 -p 6379 -c 2000 -n 40000 -q)
./redis-benchmark -h 127.0.0.1 -p 6379 -c -n -q 运行安静的模式中,且只是用单一的关键
./redis-benchmark -h 127.0.0.1 -p 6379 -n 100000 -q 运行在安静的模式中,且只使用单一的关键
./redis-bench -h 127.0.0.1 -p 6379 -n 100000 -q script load "redis.call('set','foo','bar')" 使用直接命令来运行
./redis-benchmark -h 127.0.0.1 -p 6379 -r 100000 -n 100000 -q :运行在安静的模式中,并且设置10万随机秘钥
./redis-benchmark -h 127.0.0.1 -p 6379 -c 100 -r 100000 -n 100000 -q 模拟100个客户端
./redis-benchmark -h 127.0.0.1 -p 6379 -c 10 -r 100000 -n 100000 -q 模拟10个客户端
./redis-benchmark -h 127.0.0.1 -p 6379 -r 100000 -n 100000 -P 16 -q:流水线16条命令的测试
在真实环境下,应对大数据,大并发,可以通过增加缓存大小,并发执行来提高吞吐量。