Edge for Private Cloud 4.53.00 版本隨附 Qpid Broker-J 8.0.6。本頁面說明
和磁碟的考量因素
Edge for Private Cloud 的 apigee-qpidd
元件 (使用 Java 型代理程式)。
下列各節僅適用於 Apigee 的
Qpid 用途,以及如何使用 Apigee 的設定機制調整 Qpid。
Apigee 中的 Qpid
在 Apigee 中,Qpid 用於兩個主要工作流程:
- 數據分析
- 營利
在這兩種工作流程中,訊息處理者都會產生訊息 並推送至 Qpid在 Analytics 中,訊息會由 Qpid 伺服器讀取;在營利功能中,則由 Rating 伺服器 (管理伺服器的一部分) 讀取。讀取後,批次訊息就不會進行批次擷取和擷取。
建議設定
以下各節將說明 Qpid。這些設定是以 Analytics 或營利功能的單一訊息大小 2 KB 為依據。內建 預設的批次大小為 50,Qpid 中的每則訊息約為 100 KB。Apigee 可讓 Proxy 修改訊息並在訊息中加入其他資訊 (數據分析或營利)?在極少數的情況下,這可能會大幅改變 單一訊息和所有 Qpid 中的整批訊息。雖然一般 即使如此,以下各節有關記憶體和磁碟的建議仍然有效。 您可能需要對 Qpid 進行其他調整,以確保作業順利進行。
記憶體
Qpid Broker 使用兩種記憶體:堆外記憶體和堆積記憶體。Qpid 會將訊息儲存在堆外記憶體中,並使用堆積記憶體處理自身的內部工作、將訊息傳送至佇列和交換機等。在大多數情況下,Apigee 建議您將 Qpid Broker 的堆外記憶體和堆積記憶體保持 3:1 的比例。
而未堆積記憶體中的訊息會保留在磁碟中。此外,如果堆外記憶體的總使用率超出特定門檻,Qpid 就會設為將訊息溢位至磁碟。
根據預設,Apigee 會根據節點的可用記憶體,計算 Qpid Broker 的堆積和非堆積記憶體。對於 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 Broker 的資料目錄為 $APIGEE_ROOT/data/apigee-qpidd
。Qpid 代理程式的記錄儲存在 $APIGEE_ROOT/var/log/apigee-qpidd
中。
託管資料目錄的檔案系統效能,是整個 Broker 效能的關鍵。為獲得最佳效能,請選擇延遲時間短且其他應用程式未使用的裝置。
Qpid 代理程式會將訊息保留在資料目錄中。根據預設,Broker 會接受訊息,直到代管資料目錄的檔案系統達到 80% 的容量為止。您可以修改此設定 門檻,以覆寫下方範例所示的各個 Qpid 節點設定。
bin_run-qpidd_qpid.store.filesystem.maxUsagePercent=60
在此範例中,當基礎檔案系統為 60% 時,代理程式會拒絕新郵件 。
如何變更 Qpid 設定
如何變更 Qpid 設定:
- 建立或編輯下列檔案:
$APIGEE_ROOT/customer/application/qpidd.properties
- 視需要新增、移除或修改設定。舉例來說,如要將 Qpid Broker 的最大堆積記憶體變更為 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 重新啟動