perf-13634.en.md 1.0 KB

Major optimization of the Durable Sessions feature.

  • Idle durable subscribers no longer consume CPU.
  • End-to-end latency of durable sessions has been improved.
  • Frequency of durable storage queries has been significantly reduced.
  • Optimized utilization of the cluster backplane network.

Configuration changes:

  • Meaning of durable_sessions.idle_poll_interval parameter has changed. Now durable sessions are waken up immediately when new messages are written to the durable storage, so idle_poll_interval no longer affects end-to-end latency during normal operation.

From EMQX 5.8.1 on, idle polling is only used as a fallback mechanism for recovering from certain network errors. Therefore, the default value of idle_poll_interval has been increased. If this parameter has been customized in a previous version of EMQX, it should be increased as well.

New metrics:

  • emqx_ds_poll_requests
  • emqx_ds_poll_requests_fulfilled
  • emqx_ds_poll_requests_dropped
  • emqx_ds_poll_requests_expired
  • emqx_ds_poll_request_sharing