Redis stream 性能测试实践【Java 版】
前些日子写了 Java Redis stream 的基本 API 实践和封装文章:Redis stream Java API实践,自然地也需要对这些 API 进行性能测试。
总的来说,Redis stream 的 API 跟 list 操作的 API 差不多,就是添加、读取、删除一类,对于消费组的 API,由于实际工作中并没有使用,所以暂时搁置。
性能测试思路
这里我设计了三个用例:
添加消息
读取消息
添加、删除消息
前两个用例比较简单,所以这里就不演示了,本次用例展示两种动态测试模型的使用方式:动态线程
和动态QPS
。
简述一下第三个用例的思路:首先就是创建一个添加消息,然后成功之后返回一个redis.clients.jedis.StreamEntryID
,再根据这个返回值进行删除操作。实际工作中暂时没想到这个实际的场景,以后再遇到其他使用场景再来进行性能测试。
性能测试用例
这里我先分享一下动态线程模型的用例,我把用到的参数都写成了静态的变量形式,这样比较方便,如果是实际业务场景中,应该传比较复杂的。不过问题不大,都可以写在com.funtest.groovytest.RedisStreamTest.FunTester#doing
里面,或者在动态QPS
的闭包中。
复制代码
下面分享一下动态 QPS 模型的压测用例:
复制代码
控制台输出
复制代码
BUG 挖掘机·性能征服者·头顶锅盖
阅读原文,跳转我的仓库地址
版权声明: 本文为 InfoQ 作者【FunTester】的原创文章。
原文链接:【http://xie.infoq.cn/article/21864dbedb47a95a1161acb8c】。文章转载请联系作者。
评论