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

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

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

共收到 11 条回复 时间 点赞

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

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

韩将 回复

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

恒温 回复

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

李杰 回复

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

恒温 回复

好的,谢谢

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

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

韩将 回复

多谢大佬!

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

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

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

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