共用方式為


Azure Cosmos DB for MongoDB vCore 叢集的計算和儲存體設定

適用於: MongoDB 虛擬核心

計算資源會以 vCore 的形式提供,vCore 代表了基礎硬體的邏輯 CPU。 佈建的儲存大小是指叢集中分區可用的容量。 儲存體會用於資料庫檔案、暫存檔案、交易記錄和資料庫伺服器記錄。 您可以獨立選取計算和儲存體設定。 選取的計算和儲存體值會套用至叢集中的每個分區。

Azure Cosmos DB for MongoDB vCore 的計算

單一分區中的 RAM 總數是以選取的虛擬核心數目為基礎。

叢集層 虛擬核心 一個分區,GiB RAM
M25 2 (可高載) 8
M30 2 8
M40 4 16
M50 8 32
M60 16 64
M80 32 128
M200 64 256

Azure Cosmos DB for MongoDB vCore 中的儲存體

您佈建的儲存體總數也會定義叢集中每個分區可用的 I/O 容量。

儲存體大小 (GiB) IOPS 上限
32 3,500†
64 3,500†
128 3,500†
256 3,500†
512 3,500†
1,024 5,000
2,048 7,500
4,095 7,500
8,192 16,000
16,384 18,000
32,767 20,000

†可用磁碟高載的最大 IOPS。 最多可包含 512 GiB 的儲存體,並已啟用免費磁碟高載功能。

大幅提高計算/儲存體組態的 IOPS

每個計算組態都有 IOPS 限制,這取決於虛擬核心數目。 請務必選取叢集的計算組態,以充分利用所選儲存體中的 IOPS。

儲存體大小 儲存體 IOPS,最多 最小計算層級 最小虛擬核心數
最高 0.5 TiB 3,500† M30 2 個 vCore
1 TiB 5,000 M40 4 個 V 核心
2 TiB 7,500 M50 8 個 V 核心
4 TiB 7,500 M50 8 個 V 核心
8 TiB 16,000 M60 16 個 V 核心
16 TiB 18,000 M60 16 個 V 核心
32 TiB 20,000 M60 16 個 V 核心

†可用磁碟高載的最大 IOPS。 最多可包含 512 GiB 的儲存體,並已啟用免費磁碟高載功能。

例如,如果每個分區都需要 8 TiB 以上的儲存體,則請確定您針對節點的計算設定選取 16 個以上的虛擬核心。 該選取項目可讓您大幅提高所選取儲存體提供的 IOPS 使用量。

計算和儲存體的考量

工作集和記憶體的考量

在 Azure Cosmos DB for MongoDB vCore 中,工作集是指應用程式經常存取和使用的資料部分。 包含應用程式一般作業期間經常定期讀取或寫入的資料及索引。 工作集的概念對於效能最佳化很重要,因為 MongoDB 和許多資料庫一樣,在工作集適合放入 RAM 時表現最佳。

若要定義及了解 MongoDB 資料庫工作集,請考慮下列元件:

  1. 經常存取的資料:此資料包括應用程式經常定期讀取或更新的文件。
  2. 索引:查詢作業中使用的索引也會構成工作集的一部分,因為索引需要載入記憶體中,以確保快速存取。
  3. 應用程式使用模式:分析應用程式的使用模式,有助於識別最常存取資料的哪些部分。

藉由將工作集保留在 RAM 中,您可以將較慢的磁碟 I/O 作業降到最低,藉此改善 MongoDB 資料庫的效能。 如果您發現工作集超過可用的 RAM,您可以考慮最佳化資料模型、新增更多 RAM,或使用分區化將資料分散到多個節點。

為工作負載選擇最佳設定

為 Azure Cosmos DB for MongoDB vCore 工作負載判定正確的計算和儲存體設定,需要評估與應用程式需求和使用模式相關的多個因素。 判斷最佳設定的重要步驟和考量事項包括:

  1. 了解您的工作負載

    • 資料量:估計資料 (包括索引) 的總大小。
    • 讀取/寫入比例:決定讀取作業與寫入作業的比例。
    • 查詢模式:分析應用程式執行的查詢類型。 例如,簡單的讀取、複雜的彙總。
    • 並行:評估資料庫需要處理的並行作業數目。
  2. 監視目前的效能

    • 資源使用率:請先使用監視工具追蹤 CPU、記憶體、磁碟 I/O 和網路使用量,再將工作負載移至 Azure,並在 Azure Cosmos DB for MongoDB vCore 叢集上開始執行 MongoDB 工作負載之後監視計量
    • 效能計量:監視關鍵效能計量,例如延遲、輸送量和快取命中率。
    • 瓶頸:識別任何現有的效能瓶頸,例如高 CPU 使用量、記憶體壓力或磁碟 I/O 變慢。
  3. 預估資源需求

    • 記憶體:確定您的工作集 (經常存取的資料和索引) 適合放入 RAM。 如果您的工作集大小超過可用的記憶體,請考慮新增更多的 RAM 或最佳化您的資料模型。
    • CPU:選擇可處理查詢負載和並行需求的 CPU 設定。 耗用大量 CPU 的工作負載可能需要更多核心。 在 Azure Cosmos DB for MongoDB vCore 叢集上使用「CPU 百分比」計量搭配「最大值」彙總,以查看歷程記錄的計算使用量模式。
    • 儲存體 IOPS:選取具有足夠 IOPS 的儲存體,以處理讀取和寫入作業。 在叢集上使用「IOPS」計量搭配「最大值」彙總,以查看歷程記錄儲存體 IOPS 使用量。
    • 網路:確保有足夠的網路頻寬來處理應用程式與資料庫之間的資料傳輸,特別是針對分散式設定。 請確定您已為 MongoDB 應用程式設定主機,以支援加速的網路技術,例如 SR-IOV。
  4. 適當地調整

    • 垂直調整:相應增加和減少計算/RAM,並相應增加儲存體。
      • 計算:如果您的工作負載需要暫時增加,或經常長時間超過 70% 的 CPU 使用率,請增加叢集上的虛擬核心/RAM。
      • 請確定您在 Azure Cosmos DB for MongoDB vCore 資料庫中具有適當的資料保留期。 「保留」可讓您避免不必要的儲存體使用。 透過 使用 『Max』 匯總來設定「記憶體百分比」和/或「記憶體已使用」計量的警示 ,以監視記憶體使用量。 工作負載大小超過使用率的 70% 時,建議您增加儲存體。
    • 水平調整:請考慮針對叢集使用多個分區,在工作負載成長時,將資料分散到多個 Azure Cosmos DB for MongoDB vCore 節點,以提高效能並獲得更好的容量管理。 這特別適用於大型資料集 (超過 2-4 TiB) 和高輸送量應用程式。
  5. 測試和逐一查看

    • 效能評定:針對具有不同設定的最常使用的查詢執行測量,以判斷對效能的影響。 使用 CPU/RAM 和 IOPS 計量和應用程式層級效能評定。
    • 負載測試:進行負載測試以模擬生產工作負載,並驗證所選設定的效能。
    • 持續監視:持續監視 Azure Cosmos DB for MongoDB vCore 部署,並視需要,根據變更工作負載和使用模式調整資源。

藉由有系統地評估這些因素,並持續監視和調整您的設定,可確保 MongoDB 部署已針對您的特定工作負載進行最佳化。

儲存體的考量

為您的工作負載確定適當的儲存大小需要考慮多種因素,以確保取得最佳效能和可擴縮性。 以下是 Azure Cosmos DB for MongoDB vCore 中儲存大小的考量事項:

  1. Estimate data size:

    • 計算 Azure Cosmos DB for MongoDB vCore 資料的預期大小。 請考慮:
      • 目前的資料大小:如果從現有的資料庫移轉。
      • 成長率:估計會隨著時間新增多少資料。
      • 文件區塊和結構:了解您的資料架構和文件區塊,因為會影響儲存效率。
  2. 影響索引的因素:

    • Azure Cosmos DB for MongoDB vCore 會使用索引進行有效率的查詢。 索引會耗用額外的磁碟空間。
    • 根據下列項目估計索引的大小:
      • 索引數目
      • 索引欄位的大小
  3. 效能考量:

    • 磁碟效能會影響資料庫作業,尤其是其工作集無法適合放入 RAM 的工作負載。 請考慮:
      • I/O 輸送量:IOPS (每秒輸入/輸出作業) 是一秒內傳送至儲存體磁碟的要求數目。 儲存大小越大,IOPS 越高。 確保讀取/寫入作業有足夠的輸送量。 使用「IOPS」計量搭配「最大值」彙總來監視叢集上使用的 IOPS。
      • 延遲:延遲是指應用程式收到單一要求,將其傳送至儲存體磁碟,然後將回應傳送給用戶端所花費的時間。 除了 IOPS 和輸送量,延遲也是應用程式效能的一個重要量值。 延遲主要是由使用的儲存體類型和儲存體設定所定義。 在 Azure Cosmos DB for MongoDB 等受控服務中,進階 SSD 磁碟等快速儲存體會與最佳化設定搭配使用,以減少延遲。
  4. 未來的成長和可擴縮性

    • 規劃未來的資料成長和可擴縮性需求。
    • 配置超過目前需求的更多磁碟空間,以因應成長,而不需要頻繁地擴充儲存體。
  5. 範例計算

    • 假設您的初始資料大小為 500 GiB。
    • 若要使用索引,可能會成長到 700 GiB。
    • 如果您預期兩年內資料會翻倍,請規劃 1.4 TiB (700 GiB * 2)。
    • 為額外負荷、成長和作業需求新增緩衝區。
    • 您可能想要從 1 TiB 儲存體開始,並在大小超過 800 GiB 時,將其擴充為 2 TiB。

決定儲存大小需要結合評估目前和未來資料需求、考慮編製索引和壓縮,以及確保適當的效能和可擴縮性。 根據實際使用量和成長趨勢進行定期監視和調整,這對於維護最佳 MongoDB 效能也至關重要。

下一步