適用於 PostgreSQL 的 Azure 資料庫 - 彈性伺服器中的儲存體選項
適用於: 適用於 PostgreSQL 的 Azure 資料庫 - 彈性伺服器
您可以使用 Azure 受控磁碟建立 適用於 PostgreSQL 的 Azure 資料庫 彈性伺服器實例,這是由 Azure 管理的區塊層級記憶體磁碟區,並與 Azure 虛擬機器 搭配使用。 受控磁碟就像內部部署伺服器中的實體磁碟,但已虛擬化。 使用受控磁碟時,您只需要指定磁碟大小、磁碟類型,以及物件磁碟。 一旦您佈建磁碟後,Azure 會處理剩餘項目。 適用於 PostgreSQL 的 Azure 資料庫 - 彈性伺服器支援進階固態硬碟(進階 SSD)和進階固態硬碟第 2 版(進階 SSD v2),而定價是根據您布建的計算、記憶體和儲存層來計算。
進階 SSD
Azure 進階 SSD 針對具有輸入/輸出(IO)密集工作負載的虛擬機(VM)提供高效能和低延遲磁碟支援。 進階 SSD 單位適用於任務關鍵性生產應用程式。
進階 SSD v2 (預覽)
進階 SSD v2 提供比進階 SSD 更高的效能,同時也比一般規則成本更低。 您可以隨時調整進階 SSD v2 的效能(容量、輸送量和每秒輸入/輸出作業,稱為 IOPS)。 執行這些調整的能力可讓工作負載符合成本效益,同時滿足轉移的效能需求。 例如,交易密集型資料庫可能需要應付數天異常高需求的大量 IOPS。 或者,遊戲應用程式在尖峰時段可能需要更高的輸送量。 因此,針對大部分的一般用途工作負載,進階 SSD v2 可以提供最佳效能價格。
注意
進階 SSD v2 目前為 適用於 PostgreSQL 的 Azure 資料庫 - 彈性伺服器預覽版。
進階 SSD 與進階 SSD v2 之間的差異
不同於進階 SSD,進階 SSD v2 沒有專用大小。 您可以將進階 SSD v2 磁碟設定為任何您偏好的大小,並根據您的工作負載需求進行細微調整。 這些細微增量可以進入 1 GiB 的步驟。 進階 SSD v2 不支援主機快取,但仍提供低於進階 SSD 的延遲。 進階 SSD v2 容量的範圍介於 1 GiB 和 64 TiB。
下表提供 適用於 PostgreSQL 的 Azure 資料庫 - 彈性伺服器所支援之磁碟類型不同層面的比較,以協助您判斷哪一個符合您的需求。
進階 SSD v2 | 進階 SSD | |
---|---|---|
磁碟類型 | SSD | SSD |
案例 | 持續需要低延遲和高 IOPS 和輸送量的生產與效能敏感工作負載。 | 生產與效能敏感的工作負載。 |
最大磁碟大小 | 65,536 GiB | 32,767 GiB |
最大輸送量 | 1200 MB/s | 900 MB/秒 |
最大 IOPS | 80,000 | 20,000 |
根據預設,進階 SSD v2 最多可為每個區域的每個訂用帳戶提供 32 TiB,但可應要求支援更高的容量。 若要要求增加容量,請要求增加配額或連絡 Azure 支援。
進階 SSD v2 - IOPS
所有進階 SSD v2 磁碟都有免費 3,000 IOPS 的基準。 6 GiB 之後,磁碟的最大 IOPS 可能會以每個 GiB 500 的速率增加,最多 80,000 IOPS。 因此,8 GiB 的磁碟最多可以有 4,000 IOPS,而 10 GiB 的磁碟最多可以有 5,000 IOPS。 若要能夠在磁碟上設定 80,000 個 IOPS,該磁碟必須至少有 160 GIB。 將 IOPS 增加到 3,000 以上,會提高磁碟的價格。
進階 SSD v2 - 輸送量
所有進階 SSD v2 磁碟都有 125 MB/秒的免費基準輸送量。 6 GiB 之後,每個設定 IOPS 可設定的最大輸送量增加 0.25 MB/秒。 如果磁碟有 3,000 IOPS,則可以將其設定為的最大輸送量為 750 MB/秒。 若要提高此磁碟超過 750 MB/秒的輸送量,必須增加其 IOPS。 例如,如果您將 IOPS 增加到 4,000,則可設定的最大輸送量將是 1,000。 1,200 MB/秒是具有 5,000 IOPS 或更多的磁碟支援最大輸送量。 將輸送量增加到 125 MB/秒以上,會提高磁碟的價格。
注意
進階 SSD v2 目前為 適用於 PostgreSQL 的 Azure 資料庫 - 彈性伺服器預覽版。
進階 SSD v2 - 預覽期間的限制
進階 SSD v2 不支援高可用性、讀取複本、異地備援備份、使用客戶管理的密鑰進行數據加密,或記憶體自動成長功能。
不支援從進階 SSD (PV1) 在線移轉至進階 SSD v2 (PV2)。 或者,如果您想要跨不同的記憶體類型移轉,您可以執行 現有伺服器的時間點還原 至以不同記憶體類型布建的新伺服器。
進階 SSD V2 只能針對新建立的伺服器啟用。 不支援在現有伺服器上啟用進階 SSD V2。
您布建的記憶體是可供 適用於 PostgreSQL 的 Azure 資料庫 彈性伺服器實例使用的記憶體容量數量。 此記憶體用於資料庫檔案、暫存盤、事務歷史記錄和 PostgreSQL 伺服器記錄。 您佈建的儲存體總數也會定義可供您伺服器使用的 I/O 容量。
磁碟大小 | 進階 SSD IOPS | 進階 SSD v2 IOPS |
---|---|---|
32 GiB | 已佈建 120;最多 3,500 | 前 3000 IOPS 免費,最多可擴大至 17179 |
64 GiB | 已佈建 240;最多 3,500 | 前 3000 IOPS 免費,最多可擴大至 34359 |
128 GiB | 已佈建 500;最多 3,500 | 前 3000 IOPS 免費,最多可擴大至 68719 |
256 GiB | 已佈建 1,100;最多 3,500 | 前 3000 IOPS 免費,最多可擴大至 80000 |
512 GiB | 已佈建 2,300;最多 3,500 | 前 3000 IOPS 免費,最多可擴大至 80000 |
1 TiB | 5,000 | 前 3000 IOPS 免費,最多可擴大至 80000 |
2 TiB | 7,500 | 前 3000 IOPS 免費,最多可擴大至 80000 |
4 TiB | 7,500 | 前 3000 IOPS 免費,最多可擴大至 80000 |
8 TiB | 16,000 | 前 3000 IOPS 免費,最多可擴大至 80000 |
16 TiB | 18,000 | 前 3000 IOPS 免費,最多可擴大至 80000 |
32 TiB | 20,000 | 前 3000 IOPS 免費,最多可擴大至 80000 |
64 TiB | N/A | 前 3000 IOPS 免費,最多可擴大至 80000 |
下表提供進階 SSD v2 磁碟容量和效能上限的概觀,以協助您決定應該使用哪些需求。
SSD v2 磁碟大小 | 可用上限 IOPS | 最大可用輸送量 (MB/秒) |
---|---|---|
1 GiB-64 TIB | 3,000-80,000 (按 GiB 遞增 500 IOPS) | 125-1,200 (按設定的 IOPS 遞增 0.25 MB/秒) |
您的虛擬機器類型也有 IOPS 限制。 雖然您可以從伺服器類型獨立選取任何記憶體大小,但可能無法使用記憶體提供的所有 IOPS,特別是當您選擇具有少數虛擬核心的伺服器時。 若要深入瞭解,請參閱 適用於 PostgreSQL 的 Azure 資料庫 - 彈性伺服器的計算選項。
注意
無論您指派給實例的記憶體類型為何,記憶體只能相應增加,而不是相應減少。
您可以在 Azure 入口網站 或使用 Azure CLI 命令來監視 I/O 耗用量。 要監視的相關計量包括儲存體限制、儲存體百分比、已使用的儲存體和 I/O 百分比。
磁碟完整條件
當磁碟滿時,伺服器會開始傳回錯誤,並防止任何進一步的修改。 達到限制也可能會造成其他作業活動的問題,例如備份和預寫記錄檔 (WAL) 封存。
為了避免這種情況,當記憶體使用量達到 95% 或可用容量小於 5 GiB 時,伺服器會自動切換到只讀模式。 如果您使用進階 SSD 記憶體類型,您可以使用 記憶體自動成長 功能來避免發生此問題。
建議您主動監視使用的磁碟空間,並在記憶體中用盡可用空間之前增加磁碟大小。 您可以設定警示,讓系統在伺服器儲存體接近磁碟空間不足狀態時通知您。 如需詳細資訊,請參閱如何使用 Azure 入口網站 來設定 適用於 PostgreSQL 的 Azure 資料庫 - 彈性伺服器的計量警示。
儲存體自動成長 (進階 SSD)
記憶體自動成長有助於確保您的伺服器一律有足夠的可用空間,而且不會變成唯讀。 當您開啟儲存體自動成長時,磁碟大小會增加,而不會影響工作負載。 進階 SSD 儲存層僅支援記憶體自動成長。
對於布建記憶體超過 1 TiB 的伺服器,當可用空間低於總容量的 10% 或 64 GiB 時,記憶體自動成長機制就會啟動,無論這兩個值中的哪一個值都較小。 相反地,對於記憶體低於 1 TiB 的伺服器,此臨界值會調整為可用可用空間的 20% 或 64 GiB,視這些值中的哪一個較小而定。
作為一個說明範例,讓我們考慮一部記憶體容量為 2 TiB 的伺服器(大於 1 TiB)。 在此情況下,自動成長限制會設定為 64 GiB。 之所以如此選擇,是因為與 2 TiB 的 10% (大約是 204.8 GiB) 相比,64 GiB 是較小的值。 相反地,對於記憶體大小為 128 GiB 的伺服器(小於 1 TiB),當只有 25.8 GiB 的空間剩餘時,自動成長功能就會啟動。 此啟用是以總配置儲存體的 20% 閾值 (128 GiB) 為基礎,其小於 64 GiB。
默認行為會將磁碟大小增加到下一個進階 SSD 記憶體大小。 不論您是手動啟動儲存體擴充作業,還是透過儲存體自動成長來達成,此增加一律會將大小和成本提升兩倍。 當您管理無法預測的工作負載時,啟用儲存體自動成長是相當有價值的,因為其會自動偵測低儲存體狀況,並據以擴大儲存體。
調整記憶體的程式會在在線執行,而不會造成任何停機時間,但磁碟布建在 4,096 GiB 時除外。 此例外狀況是 Azure 受控磁碟的限制。 如果磁碟已是 4,096 GiB,則即使已開啟儲存體自動成長,也不會觸發儲存體擴充活動。 在這種情況下,您必須手動擴充儲存體。 請記住,在此特定案例中,手動調整是離線作業,應排程符合您的業務需求。
注意
無論您指派給實例的記憶體類型為何,記憶體只能相應增加,而不是相應減少。
記憶體自動成長的限制和考慮
磁碟調整作業通常會在在線執行,但涉及 4,096 GiB 界限的特定案例除外。 這些案例包括達到或超過 4,096 GiB 的限制。 例如,從 2,048 GiB 調整為 8,192 GiB 會觸發離機作業。 在 Azure 入口網站 中,移至以 4,095 GiB 表示的 4 TB,讓作業保持在線狀態。 不過,如果您明確地將 4 TB 指定為 4,096 GiB,例如在 Azure CLI 中,調整作業會以離線模式完成,因為它達到 4,096 GiB 的限制。
在小於 4 TiB 的磁碟大小上支援唯讀和讀取/寫入的主機快取。 佈建為最大達 4,095 GiB 的任何磁碟都可以利用主機快取。 當磁碟大小大於或等於 4,096 GiB 時,不支援主機快取。 例如,以 4,095 GiB 佈建的 P50 進階磁碟可以利用主機快取,而以 4,096 GiB 佈建的 P50 磁碟則無法利用主機快取。 客戶從較低的磁碟大小移至 4,096 GiB 或更新版本,會失去使用磁碟快取的能力。
這項限制是因為基礎 Azure 受控磁碟需要手動磁碟調整作業。 當您接近此限制時,您會在入口網站中收到資訊訊息。
當您具有高 WAL 使用量時,並不會觸發儲存體自動成長。
注意
儲存體自動成長視線上磁碟擴充而定,因此一律不會造成停機時間。
IOPS 擴充
適用於 PostgreSQL 的 Azure 資料庫 - 彈性伺服器支援布建額外的 IOPS。 這項功能可讓您布建超過免費 IOPS 限制的更多 IOPS。 使用這項功能,您可以增加或減少布建的 IOPS 數目,隨時調整它們以符合您的工作負載需求。
選取的計算大小會決定最小和最大 IOPS。 若要深入瞭解每個計算大小的最小和最大 IOPS,請參閱 計算大小。
重要
選取的計算大小會決定最小和最大 IOPS。
了解如何擴大或縮小 IOPS。
價格
如需最新的定價資訊,請參閱 適用於 PostgreSQL 的 Azure 資料庫 - 彈性伺服器定價。
Azure 入口網站 也會根據選取的選項,顯示伺服器組態的每月成本估計。
您可以在 [新增 適用於 PostgreSQL 的 Azure 資料庫 彈性伺服器] 頁面中,在整個伺服器建立體驗中看到該估計:
如果在現有實例的資源功能表中,於 [設定] 區段底下選取 [計算 + 記憶體],也可以看到現有伺服器:
如果您沒有 Azure 訂用帳戶,則可以使用 Azure 定價計算機來取得估計的價格。 在 Azure 定價計算機網站中,選取 [資料庫] 類別,然後選取 [適用於 PostgreSQL 的 Azure 資料庫],將服務新增至您的估計,然後自定義選項。
與 適用於 PostgreSQL 的 Azure 資料庫 產品小組分享您的建議和 Bug。