為訊息處理工具啟用 G1GC

查看 Apigee Edge 說明文件。
前往 Apigee X說明文件
資訊

本文說明如何啟用 適用於 Apigee Edge 訊息處理器的垃圾收集器 (G1GC)。

Apigee Edge 的訊息處理器會在 Java Virtual Machine (JVM) 上執行,並使用預設垃圾檔案 收集器—根據硬體和作業系統設定而序列或平行。 在特定情況下,視個人需求而定,您可能會想變更垃圾收集器 「訊息處理器」所使用的型別。

G1GC 是適用於 Java HotSpot VM 的低暫停模式 伺服器式產生垃圾收集程式 改善「訊息處理器」的整體效能。一般而言, 資料集的中型至大型資料集,其中回應時間較為重要 相較於整體處理量舉例來說,如果堆積相當大,您就可以考慮使用 G1GC (大於 3 GB)。

通常建議同時設定另一個 JVM 參數UseStringDeduplication 。這個參數可透過重複或相同的方式,最佳化 Java 堆積記憶體用量 字串值共用相同的字元陣列。

事前準備

為訊息處理器啟用 G1GC

本節說明如何在邊緣訊息處理器啟用 G1GC。可以啟用 G1GC 透過訊息處理器元件上的 useG1GC 屬性。根據預設 屬性在訊息處理器中設為 false。如何設定訊息中的任何屬性 處理方根據 如何設定 Edge

如要在訊息處理器中啟用 G1GC,請按照下列步驟操作:

  1. 找出 useG1GC 資源的權杖
  2. 為訊息處理器啟用 G1GC

找出 useG1GC 資源的權杖

下列步驟說明如何找出 useG1GC 資源的權杖:

  1. 在訊息處理器來源目錄中搜尋 useG1GC 屬性 /opt/apigee/edge-message-processor/source 使用下列指令:
    grep -ri "useG1GC" /opt/apigee/edge-message-processor/source
    
  2. 這個指令的輸出結果會顯示訊息處理者屬性 useG1GC 的權杖 如下所示:
    /opt/apigee/edge-message-processor/source/conf/system.properties:useG1GC={T}conf_system_useG1GC{/T}
    

    其中 {T}{/T} 標記之間的字串是權杖的名稱 可在訊息處理器的 .properties 檔案中設定。因此, useG1GC 屬性如下:

    conf_system_useG1GC
    

為訊息處理器啟用 G1GC

下列步驟說明如何在 Apigee 訊息處理器中啟用 G1GC:

  1. 開啟 /opt/apigee/customer/application/message-processor.properties 檔案 「訊息處理器」機器上。如果檔案不存在: 建立映像檔例如:
    vi /opt/apigee/customer/application/message-processor.properties
    
  2. 在這個檔案中新增下列程式碼:
    conf_system_useG1GC=true
    
  3. 儲存變更。
  4. 請確認這個屬性檔案為 apigee 使用者所擁有。例如:
    chown apigee:apigee /opt/apigee/customer/application/message-processor.properties
    
  5. 使用下列指令重新啟動訊息處理器:
    /opt/apigee/apigee-service/bin/apigee-service edge-message-processor restart
    
  6. 如果您有多部訊息處理器,請對所有訊息處理器重複以上步驟。

驗證訊息處理器上的 G1GC 設定

本節說明如何驗證 G1GC 設定是否成功修改 訊息處理器

即使使用 conf_system_useG1GC 權杖為訊息啟用 G1GC, 處理者,您必須檢查是否已使用實際屬性 (useG1GC) 設定 新的值如下:

  1. /opt/apigee/edge-message-processor/conf 中搜尋屬性 useG1GC 目錄中,確認該目錄已設定為新的值。例如:
    grep -ri "useG1GC" /opt/apigee/edge-message-processor/conf
    
  2. 如果訊息處理器成功啟用 G1GC,則上一個指令會顯示 system.properties 檔案中的新值。

    您在訊息中啟用 G1GC 後,上一個指令的範例結果 處理器,如下所示:

    /opt/apigee/edge-message-processor/conf/system.properties:useG1GC=true
    

    在輸出範例中,請注意,已在 system.properties 中使用新的值 true 設定 useG1GC 屬性。這表示訊息處理器已成功啟用 G1GC。

  3. 如果仍看到 useG1GC 屬性的舊值,請確認您是否 已遵循 正確在訊息處理器上啟用 G1GC。如果 您錯過了任何步驟,請再次正確重複所有步驟。
  4. 如果您仍無法啟用 G1GC,請與 Apigee Edge 支援團隊聯絡。

接下來呢?

啟用訊息處理器的字串簡化功能