piggy
1
使用emqx社区版,版本5.8.3
阿里云服务器,2CPU, 8G内存, Ubuntu 22.04.5 LTS
测试场景, 连接数50000,消息速率 3xx条/秒,跑了两天,内存一直在涨。
消息发送频率是每个连接每隔5分钟左右publish一条消息。
内存占用:
连接数和消息吞吐
emqx observer
emqx配置
补充说明:之前场景是10万连接,吞吐率700条/秒,内存一直在涨,大概跑了5,6天后,oom被系统kill掉。
每个连接消息吞吐量并不高,每5分钟左右才发一条消息,但每个连接要占140Kb的内存,这个正常么?
请问大家是否遇到过这个问题,谢谢!
piggy
3
感谢回复!
这是日志,会有内存占用的告警
整个测试流程都正常的,消息都能正常收发。
主要问题是内存一直在涨,最后会OOM。是我服务器内存分配太少么?
我的应用场景10万连接,每个连接差不多每5分钟左右publish一条消息,内存分配多少比较合适?
这些日志只是提示 系统的 CPU 和内存不足,但是结合上面的图:
其实 emqx进程占用的内存只有 29.8%,
你是不是还有其它的应用在运行。吃掉了 CPU 和内存?
piggy
5
感谢及时回复
跑了三个其他程序,主要是用来转发和接收消息的,内存一直稳定在图里的比例
emqx才跑了2天,内存占用相对不高,再跑几天,就会涨到50%以上,挂掉的时候,emqx会占70-80%的内存。
这是之前被oom kill的时候系统日志:
现在看全是正常的。
你等到 连接数到 10W 时 observer memory 的图看看。
我看你上一个图里面的 port 才 4.8W,使用了 1.6G内存,如果连接到 10W,估计也就 3.2G-4G内存。