QPID 作業指南

Edge for Private Cloud 4.52.02 版隨附 Qpid Broker-J 8.0.6。本頁面說明 和磁碟的考量因素 Edge for Private Cloud 的 apigee-qpidd 元件 (使用 Java 型代理程式)。 下列各節僅適用於 Apigee 的 Qpid 用途,以及如何使用 Apigee 的設定機制調整 Qpid。

Apigee 中的 Qpid

在 Apigee 中,Qpid 用於兩個主要工作流程:

  • 數據分析
  • 營利

在這兩種工作流程中,訊息處理者都會產生訊息 並推送至 Qpid在 Analytics 中,訊息會由 Qpid-server 讀取。 至於營利,則會由 Rating Server (管理伺服器的一部分) 讀取。 讀取後,批次訊息就不會進行批次擷取和擷取。

以下各節將說明 Qpid。這些設定是以 2 KB 的單一訊息大小為基準,如 Analytics 或 營利。內建 預設的批次大小為 50,Qpid 中的每則訊息約為 100 KB。Apigee 可讓 Proxy 修改訊息並在訊息中加入其他資訊 (數據分析或營利)?在極少數的情況下,這可能會大幅改變 單一訊息和所有 Qpid 中的整批訊息。雖然一般 即使如此,以下各節有關記憶體和磁碟的建議仍然有效。 您可能需要對 Qpid 進行其他調整,以確保作業順利進行。

記憶體

Qpid 代理程式使用兩種記憶體:堆積記憶體和堆積記憶體。Qpid 會將訊息儲存在 並將堆積記憶體用於內部工作 傳送至佇列和交換等訊息。在大多數情況下,Apigee 建議您將 Qpid 代理程式的堆積記憶體和堆積記憶體比率為 3:1。

而未堆積記憶體中的訊息會保留在磁碟中。此外,如果 未堆積記憶體達到特定門檻,Qpid 已設定為將訊息溢位至磁碟。

根據預設,Apigee 會根據可用記憶體計算 Qpid 代理程式的堆積和堆積記憶體 節點上對於 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 代理程式會將訊息保留在資料目錄中。根據預設,代理程式會接受 訊息,直到託管資料目錄的檔案系統已滿。您可以修改 門檻,以覆寫下方範例所示的各個 Qpid 節點設定。

bin_run-qpidd_qpid.store.filesystem.maxUsagePercent=60

在此範例中,當基礎檔案系統為 60% 時,代理程式會拒絕新郵件 。

如何變更 Qpid 設定

如何變更 Qpid 設定:

  1. 建立或編輯下列檔案:
    $APIGEE_ROOT/customer/application/qpidd.properties
  2. 視需要新增或移除設定。 舉例來說,如要將 Qpid 代理程式的堆積記憶體上限變更為 6 GB,請新增下列設定 覆寫檔案:
    bin_run-qpidd_qpid.run.jvm.max_vm_heap=6144M
  3. 儲存變更,並確保 apigee 使用者已擁有且可讀取檔案:
    chown apigee:apigee $APIGEE_ROOT/customer/application/qpidd.properties
  4. 重新啟動 qpidd 程序:
    apigee-service apigee-qpidd 重新啟動