环境信息
- EMQX 版本:5.8.4
- Erlang/OTP:OTP 26
- 部署方式:Kubernetes
- 场景:设备连接压测期间
- 系统监控日志:
emqx_sys_mon上报long_schedule
info: {"timeout":299,"out":"undefined","in":"{emqx_connection,recvloop,2}"} msg: long_schedule procinfo: { "status":"waiting", "proc_lib_initial_call":"{emqx_connection,init,['Argument__1','Argument__2','Argument__3','Argument__4']}", "pid":"<0.284363.0>", "message_queue_len":0, "memory":110248, "reductions":93956, "current_stacktrace":[ "{emqx_connection,recvloop,2,[{file,\"emqx_connection.erl\"},{line,415}]}", "{proc_lib,wake_up,3,[{file,\"proc_lib.erl\"},{line,251}]}" ] }
info: {"timeout":285,"out":"{gen_server,loop,7}","in":"{gen_server,loop,7}"} msg: long_schedule procinfo: { "status":"running", "registered_name":"emqx_broker_helper", "pid":"<0.2697.0>", "message_queue_len":0, "memory":53781552, "total_heap_size":5154529, "heap_size":833026, "reductions":37046327, "current_stacktrace":[ "{gen_server,loop,7,[{file,\"gen_server.erl\"},{line,1001}]}", "{proc_lib,init_p_do_apply,3,[{file,\"proc_lib.erl\"},{line,241}]}" ] }
info: {"timeout":294,"out":"{erlang,port_command,3}","in":"undefined"} msg: long_schedule procinfo: { "status":"waiting", "proc_lib_initial_call":"{emqx_connection,init,['Argument__1','Argument__2','Argument__3','Argument__4']}", "pid":"<0.62741.0>", "message_queue_len":0, "memory":27032, "reductions":273289, "current_stacktrace":[ "{emqx_connection,recvloop,2,[{file,\"emqx_connection.erl\"},{line,415}]}", "{proc_lib,wake_up,3,[{file,\"proc_lib.erl\"},{line,251}]}" ] }
希望确认的问题
- 这些
long_schedule可能对 EMQX 造成哪些实际影响 - 针对这类
long_schedule,官方是否有推荐的排查方法和优化方案,例如 CPU、Scheduler、GC、订阅规模方面的优化? long_schedule是否可能间接导致 Kafka 连接异常 频繁重连后最终出现 eaddrnotavail