您目前查看的是 Apigee Edge 說明文件。
前往 Apigee X 說明文件。 info
本文說明如何在 Apigee Edge 的訊息處理器上啟用字串重複資料刪除功能。
字串重複資料刪除是 Java 功能,可協助您節省 Java 應用程式中重複字串物件占用的記憶體。這項功能會讓重複或相同的字串值共用同一個字元陣列,藉此減少 Java 堆積記憶體中字串物件的記憶體用量。
Apigee Edge 訊息處理器是以 Java 為基礎的元件。在訊息處理器中使用字串重複資料刪除功能,可減少記憶體用量,進而提升 API Proxy 的效能,特別是 API Proxy 大量使用字串時。
字串重複資料刪除功能只能搭配 Java 應用程式中的 G1 垃圾收集器 (G1GC) 使用。如要在訊息處理器上啟用這項功能,您必須已啟用 G1GC,或在訊息處理器上同時啟用 G1GC 和字串重複資料刪除功能。
事前準備
- 如果您不熟悉 G1GC,請參閱「 開始使用 G1 垃圾收集器」。
- 如果您不熟悉字串重複資料刪除功能,請參閱 G1 垃圾收集器的字串重複資料刪除功能
- 如果您不熟悉如何在邊緣訊息處理器上啟用 G1GC,請參閱「 在訊息處理器上啟用 G1GC」。
- 如果您不熟悉如何為 Private Cloud 上的 Edge 設定屬性,請參閱「如何設定 Edge」。
在訊息處理器上啟用字串重複資料刪除功能
本節說明如何在 Edge Message Processors 上啟用字串重複資料刪除功能。您可以在 訊息處理器 元件上透過 useStringDeduplication 屬性啟用字串重複資料刪除功能。根據預設,訊息處理器的這項屬性會設為 false。如要在 Message Processor 上設定任何屬性,請按照「如何設定 Edge」一文所述的語法使用權杖。
如要在 Message Processor 上啟用字串重複資料刪除功能,請執行下列步驟:
找出 token,以用於 useStringDeduplication 屬性
下列步驟說明如何找出權杖,以用於 useStringDeduplication:
-
使用下列指令,在訊息處理器來源目錄
/opt/apigee/edge-message-processor/source中搜尋useStringDeduplication屬性:grep -ri "useStringDeduplication" /opt/apigee/edge-message-processor/source
-
這項指令的輸出內容會顯示 Message Processor 屬性的權杖
useStringDeduplication,如下所示:/opt/apigee/edge-message-processor/source/conf/system.properties:useStringDeduplication={T}conf_system_useStringDeduplication{/T}{T}{/T}標記之間的字串是您可在 Message Processor 的.properties檔案中設定的符記名稱。因此,屬性useStringDeduplication的權杖如下:conf_system_useStringDeduplication
在訊息處理工具上啟用字串重複資料刪除功能
下列步驟說明如何在 Apigee Message Processor 上啟用字串重複資料刪除功能:
-
在訊息處理器電腦上,使用編輯器開啟
/opt/apigee/customer/application/message-processor.properties檔案。如果檔案尚不存在,請建立該檔案。 例如:vi /opt/apigee/customer/application/message-processor.properties
-
在這個檔案中新增下列程式碼:
conf_system_useStringDeduplication=true
- 儲存變更。
-
請確認這個屬性檔案的擁有者是
apigee使用者。例如:chown apigee:apigee /opt/apigee/customer/application/message-processor.properties
-
使用下列指令重新啟動訊息處理器:
/opt/apigee/apigee-service/bin/apigee-service edge-message-processor restart
- 如果您有多個訊息處理器,請在所有訊息處理器上重複執行這些步驟。
在訊息處理器上驗證字串重複資料刪除功能
本節說明如何確認訊息處理器已成功啟用字串重複資料刪除功能。
即使您使用 conf_system_useStringDeduplication 權杖在訊息處理器上啟用字串重複資料刪除功能,仍須驗證實際屬性 useStringDeduplication 是否已設為新值,如下所示:
-
在
/opt/apigee/edge-message-processor/conf目錄中搜尋useStringDeduplication屬性,並確認已設定新值。例如:grep -ri "useStringDeduplication" /opt/apigee/edge-message-processor/conf
-
如果訊息處理器已成功啟用字串重複資料刪除功能,則先前的指令會在
system.properties檔案中顯示新值。在訊息處理器上啟用字串重複資料刪除功能後,先前指令的範例結果如下:
/opt/apigee/edge-message-processor/conf/system.properties:useStringDeduplication=true
在輸出範例中,請注意屬性
useStringDeduplication已在system.properties中設為新值true。這表示訊息處理器已成功啟用字串重複資料刪除功能。 -
如果資源
useStringDeduplication仍顯示舊值,請確認您已正確按照「在訊息處理器上啟用字串重複資料刪除功能」一文中的所有步驟操作。如果遺漏任何步驟,請再次正確執行所有步驟。 - 如果還是無法啟用字串重複資料刪除功能,請與 Apigee 支援團隊聯絡。