全部產品
Search
文件中心

ApsaraMQ for Kafka:消費端從服務端拉取不到訊息或拉取訊息緩慢

更新時間:Dec 27, 2024

可能的原因包括訊息流程量達到網路頻寬、單個訊息大小超過網路頻寬或者Consumer每次拉取的訊息量超過網路頻寬。

問題現象

Topic中有訊息並且Consumer未消費到最新的位置,出現消費端從服務端拉取不到訊息或拉取訊息緩慢的情況(特別是公網消費時)。

可能原因

可能的原因包括:

  • 消費流量達到網路頻寬。

  • 單個訊息大小超過網路頻寬。

  • Consumer每次拉取的訊息量超過網路頻寬。

    說明

    Consumer每次訊息的拉取量受以下參數影響:

    • max.poll.records:每次拉取的最多訊息數。

    • fetch.max.bytes:每次拉取的最大總byte數。

    • max.partition.fetch.bytes:每個Partition每次拉取的最大總byte數。

解決方案

  1. 登入雲訊息佇列 Kafka 版控制台查詢訊息。

    如果能查詢到訊息,請繼續嘗試以下步驟。

  2. 实例详情頁面,在左側導覽列選擇可觀測 > CloudMonitor,在监控图表頁簽查看執行個體公網讀取頻寬(bit/s)是否已達到網路頻寬。

    如果消費流量已經達到網路頻寬,您需要擴充網路頻寬。

  3. 檢查Topic中是否存在單個訊息的大小超過網路頻寬。

    如果存在單個訊息的大小超過網路頻寬,請提高網路頻寬,或者減小單個訊息的大小。

  4. 檢查Consumer每次拉取的訊息量是否超過網路頻寬。

    如果每次拉取的訊息量超過網路頻寬,您需要調整以下參數。

    • 網路頻寬>fetch.max.bytes

    • 網路頻寬>max.partition.fetch.bytes*總訂閱Partition數

重要
  • 當消費者使用的是VPC網路時,文中的網路頻寬指的是執行個體的網卡寫流量峰值。

  • 當消費者使用的是公網時,文中的網路頻寬指的是執行個體的公網流量頻寬。