效能

IBM Cloud® Databases for Elasticsearch 部署可以是 調整至您的使用情形、在特定資源條件下配置為 自動調整,或 水平調整 具有多個 Elasticsearch 節點。 如果您要調整部署的效能,請考量一些因素。

監視部署

Databases for Elasticsearch 部署提供與 IBM Cloud® Monitoring 服務 的整合,以基本監視部署上的資源使用情形。 會呈現許多可用的度量值 (例如磁碟用量及 IOPS),以協助您在部署上配置 自動調整。 觀察使用趨勢並配置自動調整大小以回應它們,有助於在資料庫因資源耗盡而變得不穩定之前減輕效能問題。

Elasticsearch Shard 處理

當您將索引新增至 Elasticsearch時,它會將資料分割成 Shard,並將那些 Shard 分散在叢集中的節點。 分區配置可讓 Elasticsearch 跨所有節點對您的資料執行並行作業。 若要取得額外的並行性及效能,請 將節點新增至 Elasticsearch 叢集。 當您新增節點時,您的 Shard 會在叢集中自動重新平衡,以將資源使用情形分散到所有節點並提高效能。

記憶體管理

Elasticsearch 記憶體分為種類、JVM 資料堆大小及系統記憶體。 它使用資料堆進行內部快取,並使用系統記憶體的其餘部分進行作業系統、檔案系統快取及記憶體回收。 配置給資料堆的記憶體越多,配置給系統其餘部分的記憶體越少。

Databases for Elasticsearch 部署的記憶體配置原則設定為 50% 資料堆和 50% 系統記憶體,資料堆大小上限為 32 GB。 在某些情況下,即使 Elasticsearch 使用檔案系統快取並減輕磁碟 I/O 使用率的壓力,將部署調整到超過 64 GB RAM (即使資料堆限制也很有用)。 您可以配置自動調整大小,以在磁碟 I/O 使用率達到特定臨界值時增加記憶體。

磁碟 IOPS

每秒輸入/輸出作業數 (IOPS) 受儲存磁區類型限制。 Databases for Elasticsearch 部署的儲存容量是以 每 GB 10 IOPS 的層級,在區塊儲存耐久容量 上進行配置。 達到 IOPS 限制可能會導致資料庫回應緩慢或似乎沒有回應。

檢索會使用磁碟,因此如果您的使用案例是大量寫入,您的檢索速度可能會受到部署可用的 IOPS 所限制。 調整磁碟使用情形的索引 可以改善部分瓶頸。 此外,如果您的工作資料集不適合檔案系統快取,則搜尋可以使用磁碟,從而增加 IOPS 負載。 如果您的使用案例涉及搜尋大型資料集,則增加部署上的記憶體可協助 Elasticsearch 減少對磁碟的依賴。

另一件要注意的事是預設 Lucene 檔案系統管理原則是 niofs,它容許對檔案進行並行讀取,也可能受到磁碟 I/O 限制的限制。 Elasticsearch 說明文件 中檔案系統儲存體類型的相關資訊。

如果您需要更多 IOPS,可以透過增加磁碟空間來增加部署可用的 IOPS 數目。 如果您知道索引或用量會增加磁碟 I/O 的趨勢,您可以配置自動調整以根據 IOPS 來增加磁碟。