在訊息處理器中啟用字串重複功能

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

本文說明如何在 Apigee Edge 的訊息處理器中啟用字串簡化功能。

「字串簡化」是一種 Java 功能,可協助您節省重複字串佔用的記憶體 物件。可減少 Java 堆積中的 String 物件記憶體用量 這會導致重複或相同的字串值共用相同的字元陣列。

Apigee Edge Message Processor 是以 Java 為基礎的元件。在訊息中使用重複字串簡化功能 處理方可減少記憶體用量,藉此提高 API Proxy 的效能 是否大量使用 String

字串簡化功能只能搭配 Java 中的 G1 垃圾收集器 (G1GC) 使用 應用程式。如果您要在「訊息處理器」中啟用這項功能,請 已啟用 G1GC,或是在「訊息」上同時啟用 G1GC 和字串簡化功能 處理器。

事前準備

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

本節說明如何在邊緣訊息上啟用「重複重複字串」功能 處理器:可透過屬性啟用字串簡化功能 useStringDeduplication「訊息處理者」元件。根據預設 屬性在訊息處理器中設為 false。如何設定訊息中的任何屬性 處理方根據 如何設定 Edge

如要啟用訊息處理器的字串簡化功能,請執行下列步驟:

  1. 找出 useStringDeduplication 屬性的符記
  2. 啟用訊息處理器的 useStringDeduplication
,瞭解如何調查及移除這項存取權。

找出 useStringDeduplication 屬性的符記

下列步驟說明如何找出 useStringDeduplication 的符記:

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

    {T}{/T} 標記之間的字串是 符記 (可在訊息處理者的 .properties 檔案中設定)。因此, 屬性 useStringDeduplication 的符記如下:

    conf_system_useStringDeduplication
    

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

下列步驟說明如何在 Apigee 訊息處理器中啟用字串簡化功能:

  1. 開啟 /opt/apigee/customer/application/message-processor.properties 上的檔案 也就是編輯器中的訊息處理器機器如果檔案不存在,則建立該檔案。 例如:
    vi /opt/apigee/customer/application/message-processor.properties
    
  2. 在這個檔案中新增下列程式碼:
    conf_system_useStringDeduplication=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. 如果您有多部訊息處理器,請對所有訊息處理器重複以上步驟。

驗證訊息處理器上的重複字串

本節說明如何驗證「字串簡化」功能是否已成功啟用 訊息處理器

即使您使用 conf_system_useStringDeduplication 符記啟用字串 簡化訊息處理器,您必須驗證實際屬性 已透過新值設定 useStringDeduplication,如下所示:

  1. 在「useStringDeduplication」中搜尋資源 /opt/apigee/edge-message-processor/conf 目錄,檢查該目錄是否具有 已設定為新的值例如:
    grep -ri "useStringDeduplication" /opt/apigee/edge-message-processor/conf
    
  2. 如果訊息處理器成功啟用字串簡化功能, 指令會顯示 system.properties 檔案中的新值。

    您在 訊息處理器如下:

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

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

  3. 如果仍看到 useStringDeduplication 屬性的舊值,則 請確認您已按照 啟用訊息處理器上的重複字串簡化功能 正確。如果您漏掉任何步驟,請再次正確重複所有步驟。
  4. 如果還是無法啟用字串簡化功能,請與 Apigee 支援

接下來呢?

為訊息處理器啟用 G1GC