如何进行Redis基准测试?
通过以下优秀的工具,了解您的Redis的性能、断点、吞吐量、数据传输速率等等。
在过去的几年里,Redis(远程字典服务)的流行度和使用率有所提高。
不仅适用于企业应用,也适用于中小型应用。而且,您可以使用Redis on WordPress进行缓存,性能要好得多。如果有兴趣从零开始学习Redis,请查看此online course。
作为企业应用的开发人员或系统管理员,您应该根据性能和容量进行基准测试以了解您的应用程序性能。Redis基准测试与web server略有不同。好消息是,有许多免费工具可供选择,因此您可以选择适合您的工具。
准备好探索了吗?
Redis-benchmark
利用Redis内置的基准测试实用程序redis-benchmark
。它包含在Redis安装中,只需在UNIX上键入redis-benchmark
即可执行。它也适用于Windows,可执行文件是redis-benchmark.exe。
让我们看一下以下示例。
向192.168.0.100发送一百万个请求
root@gf-lab:~# redis-benchmark -h 192.168.0.100 -p 6379 -n 1000000
====== PING_INLINE ======
1000000个请求在30.62秒内完成
50个并行客户端
3个字节的有效负载
保持活动:1
61.85% <= 1毫秒
99.55% <= 2毫秒
99.93% <= 3毫秒
99.96% <= 4毫秒
99.98% <= 5毫秒
99.99% <= 6毫秒
99.99% <= 7毫秒
100.00% <= 8毫秒
100.00% <= 9毫秒
100.00% <= 9毫秒
每秒处理32653.06个请求
100万个请求在30.62秒内完成。还要注意最后一行,每秒大约有32653个请求被处理。
如果仔细观察,有效负载大小为3个字节。这是默认设置,如果要自定义,可以使用-d
参数。以下测试是针对具有1mb有效负载的100k个请求。
root@gf-lab:~# redis-benchmark -h 127.0.0.1 -p 6379 -n 100000 -d 1000000
====== PING_INLINE ======
100000个请求在2.80秒内完成
50个并行客户端
1000000个字节的有效负载
保持活动:1
73.19% <= 1毫秒
99.95% <= 2毫秒
100.00% <= 2毫秒
每秒处理35676.06个请求
您注意到并行客户端了吗?默认情况下是50个,要进行调整,可以使用-c
参数。下面的示例是200个客户端。
root@gf-lab:~# redis-benchmark -h 127.0.0.1 -p 6379 -n 100000 -d 1000000 -c 200
====== PING_INLINE ======
100000个请求在3.77秒内完成
200个并行客户端
1000000个字节的有效负载
保持活动:1
0.00% <= 1毫秒
2.99% <= 2毫秒
18.95% <= 3毫秒
45.81% <= 4毫秒
69.65% <= 5毫秒
86.58% <= 6毫秒
95.79% <= 7毫秒
98.88% <= 8毫秒
99.78% <= 9毫秒
99.96% <= 10毫秒
100.00% <= 10毫秒
每秒处理26532.24个请求
可以看到,使用200个客户端需要更长的时间,处理速度也变慢。但这是可以预料的,并且有助于找到应用程序的真实性能。
对Redis-benchmark工具不满意?不用担心,还有更多其他工具如下。
Redis-cli
只对延迟信息感兴趣吗?
当然,您可以使用随Redis服务器一起提供的redis-cli
。您可以使用--latency
参数执行。
root@gf-lab:~# redis-cli --latency
最小值:0,最大值:1,平均值:0.16(1056个样本)
默认情况下,延迟采样每秒一次,但如果需要,可以使用-i
开关进行更改。
Memtier Benchmark
Memtier benchmark由Redis Labs支持Redis和Memcache。这是一个带有各种测试选项的高级基准测试工具,如下所示。
- 测试密码保护的Redis
- 在集群模式下运行客户端
- 提供客户端数量、请求数量、线程数量、数据大小
- 调整SET和GET比例
还有很多…
这是一个快速测试报告。
我怀疑在Windows上你能否安装这个工具,但在像RHEL/CentOS,Ubuntu/Debian和MacOS等UNIX发行版上肯定可以。你可以试试免费体验一下。
RDBTools
它有命令行界面和图形界面两种形式。该工具是一个跨平台工具,旨在帮助提高应用程序的性能。具体来说,它具有内存分析功能,可以用于调查内存使用情况,关键字分析,识别内存泄漏并建议降低内存使用。
通过图形界面,您可以查看实时性能并执行各种管理任务。
结论
我希望上述工具可以帮助您进行Redis基准测试,以了解应用程序的性能。