关于emqx 5.0的性能咨询

测试环境:ABC 3台主机,A主机使用mqttx pub,B主机使用mqttx sub,C主机为emqx broker,mqttx版本为1.10.1,emqx broker版本为5.7.1。

测试过程:
B主机使用如下命令进行sub,mqttx bench sub -c 1 -t ‘sport/football’ -h 10.10.10.72 -p 1883 -q 1 --client-id czcz2
A主机每次使用类似如下命令pub,mqttx bench pub -c 5000 -im 900 -t ‘sport/football’ -h 10.10.10.72 -p 1883 -L 900000,只是每次测试会修改-im参数,减少发送的间隔,进行压力测试。

测试结果:
1、针对emqx broker,在im参数由1000ms改到900ms后,就会出现少量丢包的情况(sub端收到的消息数量少于pub定义的90w条)。im间隔越短,丢包率越大。
2、把C主机上部署的emqx服务关闭,换成部署mosquitto后,im参数由1000ms陆续降低至50ms,多次测试,sub依旧不丢包,能收到90w条。

问题:
1、对于emqx服务,除了系统调优 | EMQX 5.7 文档 这里介绍的调优方式,是否还可以根据不同的服务器硬件配置进行配置调优,以提升性能?
2、上述测试过程中,个人观察发现使用emqx时,服务器多核CPU的每核使用率达到50-60%左右后,针对我的这个测试场景就会丢包。那么,我们在实际的生产场景中,如何判断何时需要进行服务器硬件方面的升级(或如何判断服务器的性能不够,需要增加集群服务器数量),有哪些指标可以查看吗?

可以观察下,这个期间的 EMQX 是否有什么告警或错误日志的产生,导致了消息被丢弃了。

对于问题

  1. 一般默认这些事够用的
  2. 得先查丢包的原因,才能有这个问题的结论。一般来说 CPU 平均在80%就需要扩容了

你好,刚才进行测试,查看到日志出现如图告警和错误信息

warning信息是提示CPU使用率过高,那error信息是由于CPU过高导致的吗?