如何进行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基准测试,以了解应用程序的性能。

类似文章