问答 有人用 JMeter 做过 ThingsBoard 开源框架的性能测试吗?

李杰 · 2021年08月24日 · 最后由 中通科技测试 回复于 2021年09月11日 · 5456 次阅读

有人用 JMeter 做过 ThingsBoard 开源框架的性能测试吗?
压测上传遥测数据功能,需要模拟上万并发实时上传遥测数据,这么大的并发用 JMeter 可以做吗?

共收到 11 条回复 时间 点赞

可以,jmeter 分布式,且压力机需要用最高硬件配置

thingsboard 这个鸟玩意,我还真做过,你用 jmeter 测出来不准的,建议自己用 mqtt 客户端写一个 go 工具测

韩将 #2 回复

jmeter 也有 mqtt 的插件,可以在社区搜索下。

恒温 #3 回复

mqtt 插件已经在 github 上找到了,脚本也写好了,但是要支持上万的并发,感觉几台压力机是完全不够的,这个有些难,看官网用的是 galing 这个工具

李杰 #4 回复

我看比较普遍的解法是买个 10 几台阿里云机器。。

恒温 #5 回复

好的,谢谢

1 秒内上万并发 pub 消息用 golang 是可以的,如果 1 秒内 2000 并发 pub 消息的话,可以用 python 协程。只有 connect 比较耗资源,你用 jmeter 是做不了的,你都试试就知道了

多说一句,thingsboard 应该属于有状态应用,但是这个玩意有不少的 BUG,比如与其他消息队列应用对接,做数据流转,没有断开重连机制,若遇到其他微服务升级,不会自动重连。建议还是不要用 thingsboard 了,坑很大,填不上。还有就是你上面提及的性能指标,那是限于规则引擎简单的情况下,你在规则引擎 js 里面多写几个 if else,性能马上就下来了

韩将 #8 回复

多谢大佬!

李杰 #10 · 2021年09月03日 Author
韩将 #8 回复

jmeter 分布式也做不了吗?正准备分布式环境搭建呢

Jmeter 分布式,开启多个节点,如果还是不行的话,可以通过 Jmeter JavaSampler 里面再写一个循环。计算的时候处理一下。应该可以做到的。 我们当时 压测的时候也是这么做的。

需要 登录 后方可回复, 如果你还没有账号请点击这里 注册