視流量和處理需求而定,您可能需要針對執行 Java 型私有雲元件的節點變更堆積記憶體大小或類別中繼資料大小。
本節提供預設和建議的 Java 堆積記憶體大小,以及變更預設值的程序。最後,本節說明如何使用屬性檔案變更其他 JVM 設定。
預設和建議堆積記憶體大小
下表列出 Java 式 Private Cloud 元件預設和建議 Java 的堆積記憶體大小:
元件 | 屬性檔案名稱 | 預設 堆積大小 |
建議 堆積大小 |
---|---|---|---|
執行階段 | |||
Cassandra | n/a | 自動設定1 | 自動設定1 |
訊息處理器 | message-processor.properties |
512 MB | 3GB - 6GB2 |
路由器 | router.properties |
512 MB | 512 MB |
數據分析 | |||
Postgres 伺服器 | postgres-server.properties |
512 MB | 512 MB |
Qpid 伺服器 | qpid-server.properties |
512 MB | 2GB - 4GB |
管理 | |||
管理伺服器 | management-server.properties |
512 MB | 512 MB |
UI | ui.properties |
512 MB | 512 MB |
OpenLDAP | n/a | 原生應用程式3 | 原生應用程式3 |
Zookeeper | zookeeper.properties |
2048 MB | 2048 MB |
附註 | |||
1 Cassandra 會在啟動時動態計算堆積大小上限。目前,這比系統記憶體總量的一半,上限為 8,192 MB。如要瞭解如何設定堆積大小,請參閱「變更堆積記憶體大小」。 |
|||
2 針對訊息處理器,Apigee 建議您將堆積大小設為介於 3 GB 至 6 GB 之間。請先執行效能測試,再將堆積大小增加超過 6 GB。 如果效能測試期間的堆積用量接近上限,請提高上限。如要瞭解如何設定堆積大小,請參閱「變更堆積記憶體大小」。 |
|||
3 並非所有 Private Cloud 元件都是透過 Java 實作。因為這些應用程式不是以 Java 為基礎,在主機平台上原生執行的應用程式並沒有可設定的 Java 堆積大小,而是仰賴主機系統進行記憶體管理。 |
如要判斷 Apigee 建議分配給該節點上的 Java 元件的記憶體總量,請為該節點上的每個元件新增上方所列的值。舉例來說,如果您的節點同時託管 Postgres 和 Qpid 伺服器,Apigee 建議合併的記憶體配置應介於 2.5 GB 至 4.5 GB 之間。
如需必要硬體 (例如 RAM) 的清單,請參閱安裝需求。
變更堆積記憶體大小
如要變更堆積記憶體設定,請修改元件的屬性檔案。舉例來說,如果是訊息處理器,請修改 /opt/apigee/customer/application/message-processor.properties
檔案。
如果 message-processor.properties
檔案不存在,或是任何 Edge 元件的對應 .properties
檔案不存在,請建立該檔案,然後將檔案擁有權變更為「apigee」使用者,如以下範例所示:
chown apigee:apigee /opt/apigee/customer/application/message-processor.properties
如果元件安裝在多部機器 (例如訊息處理器) 上,您必須在代管元件的所有機器上編輯屬性檔案。
下表列出您可以編輯的屬性來變更堆積大小:
屬性 | 說明 |
---|---|
bin_setenv_min_mem |
堆積大小下限。預設值是以「預設和建議堆積記憶體大小」中列出的值為準。 這項設定與 Java |
bin_setenv_max_mem |
堆積大小上限。預設值是以「預設和建議堆積記憶體大小」中列出的值為準。 這項設定與 Java |
bin_setenv_meta_space_size |
預設類別中繼資料大小。預設值為 這項設定與 Java |
在節點上設定堆積大小屬性時,請使用「m」後置字串表示 MB,如以下範例所示:
bin_setenv_min_mem=4500m bin_setenv_max_mem=4500m bin_setenv_meta_space_size=1024m
在屬性檔案中設定值後,請重新啟動元件:
/opt/apigee/apigee-service/bin/apigee-service component restart
例如:
/opt/apigee/apigee-service/bin/apigee-service edge-message-processor restart
變更其他 JVM 屬性
針對不受上述屬性控管的 Java 設定,您也可以在任何 Edge 元件的對應屬性檔案中設定以下內容:
bin_setenv_ext_jvm_opts
:設定其他屬性未指定的任何 Java 屬性。例如:bin_setenv_ext_jvm_opts=-XX:MaxGCPauseMillis=500
不過,請勿使用
bin_setenv_ext_jvm_opts
設定-Xms
、-Xmx
或-XX:MetaspaceSize
,因為這些值是由上述屬性控管。
如需有關為 Private Cloud 元件設定記憶體的其他提示,請參閱 Edge 論壇上的這篇文章。