Edge for Private Cloud 4.52.02 版隨附 Qpid Broker-J 8.0.6。本頁面說明 Private Cloud (含 Java 型代理程式) 邊緣 apigee-qpidd
元件的記憶體和磁碟注意事項。下列各節僅適用於 Apigee 的 Qpid 用途,並說明如何使用 Apigee 的設定機制調整 Qpid。
Apigee 中的 Qpid
在 Apigee 中,Qpid 用於兩個主要工作流程:
- 數據分析
- 營利
在這兩種工作流程中,訊息處理者都會產生訊息,系統會批次收集並推送至 Qpid。對 Analytics (分析) 來說,訊息會由 Qpid-server 讀取,如果是營利,則是由 Rating Server (管理伺服器的一部分) 讀取。讀取後,批次訊息就不會進行批次擷取和擷取。
建議設定
下列各節說明使用 Qpid 的記憶體和磁碟建議設定。這些設定以數據分析或營利的單一訊息大小為 2 KB 為依據。預設批量為 50 時,Qpid 中的每則訊息約為 100 KB。Apigee 允許 Proxy 修改及在訊息 (數據分析或營利) 中修改額外資訊。在極少數的情況下,這可能會大幅改變單一訊息的大小,以及 Qpid 中的整體批次訊息。即使如此,以下各節有關記憶體和磁碟的一般建議仍然適用,但您可能需要對 Qpid 進行其他調整,才能確保作業順利進行。
記憶體
Qpid 代理程式使用兩種記憶體:堆積記憶體和堆積記憶體。Qpid 會將訊息儲存在堆積記憶體內,並將訊息用於專屬的內部工作、將訊息導向佇列和交換作業等。在大多數情況下,Apigee 建議保持 Qpid Broker 的離堆積和堆積記憶體維持 3:1 的比率。
而未堆積記憶體中的訊息會保留在磁碟中。此外,如果堆積記憶體的總使用率違反特定門檻,Qpid 就會設為將訊息溢位至磁碟。
根據預設,Apigee 會根據節點的可用記憶體計算 Qpid 代理程式的堆積和堆積記憶體。Apigee 指令碼的堆積記憶體堆積和堆積記憶體合併有 4 GB 的軟性限制。如要覆寫這些限制,您可以使用下列兩項設定,自行設定 Qpid 的堆積和堆積記憶體值。
- 堆積記憶體設定:
bin_run-qpidd_qpid.run.jvm.max_vm_heap=1024m
- 堆積記憶體設定:
bin_run-qpidd_qpid.run.jvm.max_direct_memory_size=3072m
如要瞭解如何覆寫設定,請參閱「如何變更 Qpid 設定」。
詳情請參閱 記憶體的 Apache Qpid 參考資料。
磁碟
Qpid 代理程式的資料目錄為 $APIGEE_ROOT/data/apigee-qpidd
。Qpid 代理程式的記錄儲存在 $APIGEE_ROOT/var/log/apigee-qpidd
中。
託管資料目錄的檔案系統效能是改善整體效能的關鍵。如要獲得最佳效能,請選擇延遲時間短且其他應用程式並未使用的裝置。
Qpid 代理程式會將訊息保留在資料目錄中。根據預設,代理程式會接受訊息,直到託管資料目錄的檔案系統已滿 80%。如要修改這個門檻,您可以覆寫下方範例所示的各個 Qpid 節點設定。
bin_run-qpidd_qpid.store.filesystem.maxUsagePercent=60
在此範例中,當基礎檔案系統已滿 60% 時,代理程式會拒絕新訊息。
如何變更 Qpid 設定
如何變更 Qpid 設定:
- 建立或編輯下列檔案:
$APIGEE_ROOT/customer/application/qpidd.properties
- 視需要新增或移除設定。舉例來說,如要將 Qpid 代理程式的堆積記憶體上限變更為 6 GB,請在檔案中加入下列設定覆寫值:
bin_run-qpidd_qpid.run.jvm.max_vm_heap=6144M
- 儲存變更,確保
apigee
使用者擁有及讀取檔案:chown apigee:apigee $APIGEE_ROOT/customer/application/qpidd.properties
- 重新啟動
qpidd
程序:apigee-service apigee-qpidd 重新啟動