一、计算qps:redis
1)redis发布版本中自带了redis-benchmark性能测试工具,可使用它计算qps。示例:使用50个并发链接,发出100000个请求,每一个请求的数据为2kb,测试host为127.0.0.1端口为6379的redis服务器性能:数据库
./redis-benchmark -h127.0.0.1 -p 6379 -c 50 -n 100000 -d 2服务器
...并发
====== SADD ======工具
100000 requests completed in 2.27 seconds性能
500 parallel clients测试
3 bytes payload内存
keep alive: 1requests
4.66% <= 1millisecondscli
14.15% <= 2milliseconds
23.87% <= 3milliseconds
33.59% <= 4milliseconds
43.13% <= 5milliseconds
52.69% <= 6milliseconds
62.08% <= 7milliseconds
71.43% <= 8milliseconds
80.66% <= 9milliseconds
89.10% <= 10milliseconds
95.23% <= 11milliseconds
98.76% <= 12milliseconds
99.59% <= 13milliseconds
99.78% <= 14milliseconds
99.87% <= 15milliseconds
99.95% <= 16milliseconds
99.99% <= 17milliseconds
100.00% <= 17milliseconds
44150.11 requestsper second
咱们关注结果最后一行:每秒44150.11个请求,既QPS4.4万;但这里的数据都只是测试数据,测出来的QPS不能表明实际生产的处理能力;
2)测算redis处理实际生产请求的QPS/TPS
在实际生产中,咱们须要关心这个指标,在咱们的应用场景中,redis可以处理的最大的(QPS/TPS)是多少?测量redisQPS的方式有两种:
估计生产的报文大小,使用benchmark工具指定-d数据块大小来模拟;
使用redis-cli中info统计信息计算差值;redis-cli的info命令中有一项total_commands_processed表示:从启动到如今处理的全部命令总数,能够经过统计两次info指令间的差值来计算QPS:
watch -n 60'redis-cli -a MROhwkCyaGZbCrMTLAg2 info|grep total_commands_processe >> qps2.txt && date >>qps2.txt'
把每分钟的total_commands_processe记录到qps2.txt,打上时间戳获得数据两两相减,除以60秒。
注意:这个实时数据,存在波峰波谷,要采样几回,每次一段时间,这样才比较准。因此,通常使用下面命令
nohup watch -n 60'redis-cli -a MROhwkCyaGZbCrMTLAg2 info|grep total_commands_processe >> qps2.txt && date >>qps2.txt' > log 2>&1 &
二、内存使用状况:
redis是内存数据库,直接看info里的相关参数便可
used_memory:832784 # Redis 分配的内存总量
used_memory_human:813.27K
used_memory_rss:1896448 # Redis 分配的内存总量(包括内存碎片)
used_memory_peak:832760
used_memory_peak_human:813.24K #Redis所用内存的高峰值
三、redis链接数:
redis是内存数据库,直接看info里的相关参数便可
# Clientsconnected_clients:28