「这是我参与11月更文挑战的第19天,活动详情查看:2021最后一次更文挑战」。
前言
都说 Redis
性能极致,实际到底怎么样呢?我们借助 redis-benchmark
来测试一下。redis-benchmark
是 Redis
自带的测试工具,简直不要太舒服。
性能测试
快速测试
测试命令:redis-benchmark
1 | erlang复制代码[root@RLKJ-BT ~]# redis-benchmark |
如上,快速测试出的结果非常全,经过删减还有很多,我们比较关注的就是
100%
的时延和QPS
。从上面的结果中我们大致能够得出被测redis
的时延都在十几毫秒,QPS
都在6W
多,性能还是很好的。
精简测试
对于快速测试的结果,我们需要去分析挑选那我们需要的数据,其实 redis-benchmark
已经为我们提供了精简测试模式,我们是同-t 参数指定需要测试的操作类型就可以实现对指定操作的性能进行测试。
例:对 set
和 get
进行 1000000
个请求的性能测试。
1 | sql复制代码[root@RLKJ-BT ~]# redis-benchmark -t set,get -n 1000000 -q |
如上,我们已经拿到了非常精简的数据,我们可以直接将其放到我们的测试报告中。
Pipline 测试
针对业务场景,我们可以通过 pipline
来模拟业务场景,批量提交命令给 redis server
,从而提升性能。
例:我们模拟每个 pipline
执行 10
次命令。
1 | sql复制代码[root@RLKJ-BT ~]# redis-benchmark -t set,get -n 1000000 -q -P 10 |
同样的请求数,你会发现单次执行多条命令的性能数据要比单次执行一条命令的性能数据高出
7
倍多。
本文转载自: 掘金