我已将emqtt配置为1M客户端,但在500个客户端后失败

时间:2019-04-04 11:25:13

标签: emq

我正在尝试为100万个客户端配置EMQTT,但是在500个客户端之后失败。我正在通过Jmeter进行检查,消息只有1KB。测试用例是针对1000个客户端,每个客户端每秒发送1条消息。

RAM为16GB

下面是CPU规格:

Architecture:          x86_64
CPU op-mode(s):        32-bit, 64-bit
Byte Order:            Little Endian
CPU(s):                3
On-line CPU(s) list:   0-2
Thread(s) per core:    1
Core(s) per socket:    1
Socket(s):             3
NUMA node(s):          1
Vendor ID:             GenuineIntel
CPU family:            6
Model:                 79
Model name:            Intel(R) Xeon(R) CPU E5-2620 v4 @ 2.10GHz
Stepping:              1
CPU MHz:               2097.570
BogoMIPS:              4195.14
Hypervisor vendor:     VMware
Virtualization type:   full
L1d cache:             32K
L1i cache:             32K
L2 cache:              256K
L3 cache:              20480K

我已按照以下链接配置了emqttd:https://emqx-enterprise-docs-en.readthedocs.io/en/latest/tune.html

下面是错误日志:

2019-04-04 16:31:28.416 [error] <0.1485.0> [error] acceptor on 0.0.0.0:1883 suspend 100(ms) for 17300 emfile errors!!!
2019-04-04 16:31:28.416 [error] <0.1534.0> [error] acceptor on 0.0.0.0:1883 suspend 100(ms) for 17300 emfile errors!!!
2019-04-04 16:31:28.416 [error] <0.1490.0> [error] acceptor on 0.0.0.0:1883 suspend 100(ms) for 17300 emfile errors!!!
2019-04-04 16:31:28.416 [error] <0.1516.0> [error] acceptor on 0.0.0.0:1883 suspend 100(ms) for 17300 emfile errors!!!
2019-04-04 16:31:28.416 [error] <0.1506.0> [error] acceptor on 0.0.0.0:1883 suspend 100(ms) for 17300 emfile errors!!!
2019-04-04 16:31:28.418 [error] <0.1531.0> [error] acceptor on 0.0.0.0:1883 suspend 100(ms) for 17300 emfile errors!!!
2019-04-04 16:31:28.418 [error] <0.1510.0> [error] acceptor on 0.0.0.0:1883 suspend 100(ms) for 17300 emfile errors!!!
2019-04-04 16:31:28.418 [error] <0.1495.0> [error] acceptor on 0.0.0.0:1883 suspend 100(ms) for 17300 emfile errors!!!
2019-04-04 16:31:28.418 [error] <0.1536.0> [error] acceptor on 0.0.0.0:1883 suspend 100(ms) for 17300 emfile errors!!!
2019-04-04 16:31:38.483 [error] <0.1487.0> [error] acceptor on 0.0.0.0:1883 suspend 100(ms) for 17400 emfile errors!!!
2019-04-04 16:31:38.483 [error] <0.1496.0> [error] acceptor on 0.0.0.0:1883 suspend 100(ms) for 17400 emfile errors!!!
2019-04-04 16:31:38.483 [error] <0.1521.0> [error] acceptor on 0.0.0.0:1883 suspend 100(ms) for 17400 emfile errors!!!
2019-04-04 16:31:38.484 [error] <0.1519.0> [error] acceptor on 0.0.0.0:1883 suspend 100(ms) for 17400 emfile errors!!!
2019-04-04 16:31:38.484 [error] <0.1497.0> [error] acceptor on 0.0.0.0:1883 suspend 100(ms) for 17400 emfile errors!!!
2019-04-04 16:31:38.493 [error] <0.1501.0> [error] acceptor on 0.0.0.0:1883 suspend 100(ms) for 17400 emfile errors!!!
2019-04-04 16:31:38.493 [error] <0.1502.0> [error] acceptor on 0.0.0.0:1883 suspend 100(ms) for 17400 emfile errors!!!
2019-04-04 16:31:38.493 [error] <0.1481.0> [error] acceptor on 0.0.0.0:1883 suspend 100(ms) for 17400 emfile errors!!!
2019-04-04 16:31:38.493 [error] <0.1513.0> [error] acceptor on 0.0.0.0:1883 suspend 100(ms) for 17400 emfile errors!!!
2019-04-04 16:31:38.494 [error] <0.1514.0> [error] acceptor on 0.0.0.0:1883 suspend 100(ms) for 17400 emfile errors!!!
2019-04-04 16:31:38.497 [error] <0.1488.0> [error] acceptor on 0.0.0.0:1883 suspend 100(ms) for 17400 emfile errors!!!
2019-04-04 16:31:38.499 [error] <0.1524.0> [error] acceptor on 0.0.0.0:1883 suspend 100(ms) for 17400 emfile errors!!!
2019-04-04 16:31:38.499 [error] <0.1500.0> [error] acceptor on 0.0.0.0:1883 suspend 100(ms) for 17400 emfile errors!!!
2019-04-04 16:31:38.499 [error] <0.1518.0> [error] acceptor on 0.0.0.0:1883 suspend 100(ms) for 17400 emfile errors!!!
2019-04-04 16:31:38.499 [error] <0.1480.0> [error] acceptor on 0.0.0.0:1883 suspend 100(ms) for 17400 emfile errors!!!
2019-04-04 16:31:38.500 [error] <0.1482.0> [error] acceptor on 0.0.0.0:1883 suspend 100(ms) for 17400 emfile errors!!!
2019-04-04 16:31:38.500 [error] <0.1491.0> [error] acceptor on 0.0.0.0:1883 suspend 100(ms) for 17400 emfile errors!!!
2019-04-04 16:31:38.500 [error] <0.1507.0> [error] acceptor on 0.0.0.0:1883 suspend 100(ms) for 17400 emfile errors!!!
2019-04-04 16:31:38.500 [error] <0.1477.0> [error] acceptor on 0.0.0.0:1883 suspend 100(ms) for 17400 emfile errors!!!
2019-04-04 16:31:38.500 [error] <0.1532.0> [error] acceptor on 0.0.0.0:1883 suspend 100(ms) for 17400 emfile errors!!!
2019-04-04 16:31:38.500 [error] <0.1499.0> [error] acceptor on 0.0.0.0:1883 suspend 100(ms) for 17400 emfile errors!!!
2019-04-04 16:31:38.500 [error] <0.1530.0> [error] acceptor on 0.0.0.0:1883 suspend 100(ms) for 17400 emfile errors!!!
2019-04-04 16:31:38.500 [error] <0.1504.0> [error] acceptor on 0.0.0.0:1883 suspend 100(ms) for 17400 emfile errors!!!
2019-04-04 16:31:38.501 [error] <0.1505.0> [error] acceptor on 0.0.0.0:1883 suspend 100(ms) for 17400 emfile errors!!!
2019-04-04 16:31:38.501 [error] <0.1528.0> [error] acceptor on 0.0.0.0:1883 suspend 100(ms) for 17400 emfile errors!!!
2019-04-04 16:31:38.501 [error] <0.1526.0> [error] acceptor on 0.0.0.0:1883 suspend 100(ms) for 17400 emfile errors!!!
2019-04-04 16:31:38.502 [error] <0.1512.0> [error] acceptor on 0.0.0.0:1883 suspend 100(ms) for 17400 emfile errors!!!
2019-04-04 16:31:38.502 [error] <0.1515.0> [error] acceptor on 0.0.0.0:1883 suspend 100(ms) for 17400 emfile errors!!!
2019-04-04 16:31:38.504 [error] <0.1489.0> [error] acceptor on 0.0.0.0:1883 suspend 100(ms) for 17400 emfile errors!!!
2019-04-04 16:31:38.504 [error] <0.1527.0> [error] acceptor on 0.0.0.0:1883 suspend 100(ms) for 17400 emfile errors!!!
2019-04-04 16:31:38.504 [error] <0.1517.0> [error] acceptor on 0.0.0.0:1883 suspend 100(ms) for 17400 emfile errors!!!
2019-04-04 16:31:38.504 [error] <0.1522.0> [error] acceptor on 0.0.0.0:1883 suspend 100(ms) for 17400 emfile errors!!!
2019-04-04 16:31:38.504 [error] <0.1498.0> [error] acceptor on 0.0.0.0:1883 suspend 100(ms) for 17400 emfile errors!!!
2019-04-04 16:31:38.504 [error] <0.1483.0> [error] acceptor on 0.0.0.0:1883 suspend 100(ms) for 17400 emfile errors!!!
2019-04-04 16:31:38.507 [error] <0.1503.0> [error] acceptor on 0.0.0.0:1883 suspend 100(ms) for 17400 emfile errors!!!
2019-04-04 16:31:38.507 [error] <0.1486.0> [error] acceptor on 0.0.0.0:1883 suspend 100(ms) for 17400 emfile errors!!!
2019-04-04 16:31:38.507 [error] <0.1493.0> [error] acceptor on 0.0.0.0:1883 suspend 100(ms) for 17400 emfile errors!!!
2019-04-04 16:31:38.507 [error] <0.1494.0> [error] acceptor on 0.0.0.0:1883 suspend 100(ms) for 17400 emfile errors!!!
2019-04-04 16:31:38.507 [error] <0.1475.0> [error] acceptor on 0.0.0.0:1883 suspend 100(ms) for 17400 emfile errors!!!
2019-04-04 16:31:38.507 [error] <0.1533.0> [error] acceptor on 0.0.0.0:1883 suspend 100(ms) for 17400 emfile errors!!!
2019-04-04 16:31:38.508 [error] <0.1484.0> [error] acceptor on 0.0.0.0:1883 suspend 100(ms) for 17400 emfile errors!!!
2019-04-04 16:31:38.508 [error] <0.1476.0> [error] acceptor on 0.0.0.0:1883 suspend 100(ms) for 17400 emfile errors!!!
2019-04-04 16:31:38.508 [error] <0.1529.0> [error] acceptor on 0.0.0.0:1883 suspend 100(ms) for 17400 emfile errors!!!
2019-04-04 16:31:38.508 [error] <0.1535.0> [error] acceptor on 0.0.0.0:1883 suspend 100(ms) for 17400 emfile errors!!!
2019-04-04 16:31:38.508 [error] <0.1511.0> [error] acceptor on 0.0.0.0:1883 suspend 100(ms) for 17400 emfile errors!!!
2019-04-04 16:31:38.508 [error] <0.1520.0> [error] acceptor on 0.0.0.0:1883 suspend 100(ms) for 17400 emfile errors!!!
2019-04-04 16:31:38.508 [error] <0.1537.0> [error] acceptor on 0.0.0.0:1883 suspend 100(ms) for 17400 emfile errors!!!
2019-04-04 16:31:38.509 [error] <0.1523.0> [error] acceptor on 0.0.0.0:1883 suspend 100(ms) for 17400 emfile errors!!!
2019-04-04 16:31:38.509 [error] <0.1478.0> [error] acceptor on 0.0.0.0:1883 suspend 100(ms) for 17400 emfile errors!!!
2019-04-04 16:31:38.513 [error] <0.1479.0> [error] acceptor on 0.0.0.0:1883 suspend 100(ms) for 17400 emfile errors!!!
2019-04-04 16:31:38.513 [error] <0.1509.0> [error] acceptor on 0.0.0.0:1883 suspend 100(ms) for 17400 emfile errors!!!
2019-04-04 16:31:38.513 [error] <0.1525.0> [error] acceptor on 0.0.0.0:1883 suspend 100(ms) for 17400 emfile errors!!!
2019-04-04 16:31:38.513 [error] <0.1508.0> [error] acceptor on 0.0.0.0:1883 suspend 100(ms) for 17400 emfile errors!!!
2019-04-04 16:31:38.513 [error] <0.1538.0> [error] acceptor on 0.0.0.0:1883 suspend 100(ms) for 17400 emfile errors!!!
2019-04-04 16:31:38.516 [error] <0.1492.0> [error] acceptor on 0.0.0.0:1883 suspend 100(ms) for 17400 emfile errors!!!
2019-04-04 16:31:38.516 [error] <0.1485.0> [error] acceptor on 0.0.0.0:1883 suspend 100(ms) for 17400 emfile errors!!!
2019-04-04 16:31:38.516 [error] <0.1534.0> [error] acceptor on 0.0.0.0:1883 suspend 100(ms) for 17400 emfile errors!!!
2019-04-04 16:31:38.516 [error] <0.1490.0> [error] acceptor on 0.0.0.0:1883 suspend 100(ms) for 17400 emfile errors!!!
2019-04-04 16:31:38.516 [error] <0.1516.0> [error] acceptor on 0.0.0.0:1883 suspend 100(ms) for 17400 emfile errors!!!
2019-04-04 16:31:38.516 [error] <0.1506.0> [error] acceptor on 0.0.0.0:1883 suspend 100(ms) for 17400 emfile errors!!!
2019-04-04 16:31:38.518 [error] <0.1531.0> [error] acceptor on 0.0.0.0:1883 suspend 100(ms) for 17400 emfile errors!!!
2019-04-04 16:31:38.518 [error] <0.1495.0> [error] acceptor on 0.0.0.0:1883 suspend 100(ms) for 17400 emfile errors!!!
2019-04-04 16:31:38.518 [error] <0.1510.0> [error] acceptor on 0.0.0.0:1883 suspend 100(ms) for 17400 emfile errors!!!
2019-04-04 16:31:38.518 [error] <0.1536.0> [error] acceptor on 0.0.0.0:1883 suspend 100(ms) for 17400 emfile errors!!!

1 个答案:

答案 0 :(得分:0)

您应该通过cat /proc/<pid-of-emqx>/limits检查emqx进程的“最大打开文件数”。如果限制太小,请再次执行调优指南,然后重新启动emqx。

在使用systemd的情况下,将LimitNOFILELimitNPROC添加到<servicename>.service文件中:

[Service]
LimitNOFILE=1024000
LimitNPROC=1024000

有关详细信息,请参见https://www.freedesktop.org/software/systemd/man/systemd.exec.html#Process%20Properties