適用範圍:適用於 PostgreSQL 的 Azure 資料庫 - 彈性伺服器
您可以使用 Azure 受控磁碟來建立適用於 PostgreSQL 的 Azure 資料庫彈性伺服器執行個體,這些磁碟是 Azure 所管理的區塊層級儲存體磁碟區,並會與 Azure 虛擬機器搭配使用。 受控磁碟就像是內部部署伺服器中的實體磁碟,但已虛擬化。 使用受控磁碟時,您只需要指定磁碟大小、磁碟類型,以及物件磁碟。 佈建磁碟後,Azure 就會處理其餘事項。 適用於 PostgreSQL 的 Azure 資料庫彈性伺服器支援進階固態硬碟(進階 SSD)和進階固態硬碟第 2 版(進階 SSD v2),而定價是根據您布建的計算、記憶體和儲存層來計算。
進階 SSD
針對輸入/輸出 (IO) 工作負載大的虛擬機器 (VM),Azure 進階 SSD 可提供高效能和低延遲的磁碟支援。 進階 SSD 單位適用於任務關鍵性的生產應用程式。
進階 SSD v2 (預覽)
進階 SSD v2 提供比進階 SSD 更高的效能,同時成本更低,儼然成為一般規則。 您可以隨時調校進階 SSD v2 的效能 (容量、輸送量和每秒輸入/輸出作業,稱為 IOPS)。 執行這些調整可讓工作負載符合成本效益,同時滿足轉移的效能需求。 例如,交易密集型資料庫可能需要應付數天異常高需求的大量 IOPS。 或者,遊戲應用程式可能僅在尖峰時段需要較高的輸送量。 因此,針對大部分的一般用途工作負載來說,進階 SSD v2 可提供最佳的性價比。 您現在可以在所有支援的區域中,搭配進階 SSD v2 磁碟部署適用於 PostgreSQL 的 Azure 資料庫彈性伺服器執行個體。
附註
針對適用於 PostgreSQL 的 Azure 資料庫彈性伺服器使用進階 SSD v2 的功能目前處於預覽狀態。
進階 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 |
輸送量上限 | 1,200 MB/秒 | 900 MB/秒 |
最大 IOPS | 80,000 | 20,000 |
根據預設,進階 SSD v2 最多可為每個區域的每個訂用帳戶提供 32 TiB,但可應要求支援更高的容量。 若要要求增加容量,請要求增加配額或連絡 Azure 支援。
進階 SSD v2 - IOPS
Azure 資料庫的 PostgreSQL 彈性伺服器為最多 399 GiB 的磁碟提供 3000 個基準 IOPS,超過 400 GiB 的磁碟則提供 12000 IOPS,這些均不需額外費用。 若要在磁碟上達到 80,000 IOPS,它至少必須是 160 GiB。 增加超過免費層的 IOPS 會產生額外費用。
進階 SSD v2 - 輸送量
適用於 PostgreSQL 的 Azure 資料庫彈性伺服器針對高達 399 GiB 的磁碟提供 125 MB/秒的基準輸送量,以及 400 GiB 以上磁碟的 500 MB/秒,不需額外費用。 增加超出免費層的輸送量會產生額外費用。
附註
針對適用於 PostgreSQL 的 Azure 資料庫彈性伺服器使用進階 SSD v2 的功能目前處於預覽狀態。
進階 SSD v2 - 預覽期間的限制
進階 SSD v2 不支援高可用性、讀取複本、異地備援備份、使用客戶管理的密鑰進行數據加密,或記憶體自動成長功能。
不支援從進階 SSD (PV1) 線上移轉至進階 SSD v2 (PV2)。 或者,如果您想要跨不同的儲存體類型移轉,可以執行現有伺服器還原時間點至以不同儲存體類型佈建的新伺服器。
進階 SSD V2 只能針對新建立的伺服器啟用。 不支援在現有伺服器上啟用進階 SSD V2。
進階 SSD V2 只能在下列區域中啟用:澳大利亞東部、巴西南部、加拿大中部、印度中部、美國中部、美國中部、東亞、美國東部、美國東部 2、法國中部、德國中西部、以色列中部、日本東部、南韓中部、挪威東部、波蘭中部、美國中南部、東南亞、瑞士北部、阿拉伯聯合大公國北部、美國中西部、西歐和美國西部 2。 目前不支援從進階 SSD v2 還原到進階 SSD (v1) 的時間點還原 (PITR)。 未來將會新增此功能的支援。
您佈建的儲存體是可供您適用於 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 | 前 12000 的 IOPS 免費,可擴展至 80000 |
1 TiB (1 Tebibyte) | 5,000 | 前 12000 IOPS 免費,最多可擴大至 80000 |
2 TiB | 7,500 | 前 12000 IOPS 免費,最多可擴大至 80000 |
4 TiB | 7,500 | 前 12000 IOPS 免費,最多可擴大至 80000 |
8 TiB | 16,000 | 前 12000 IOPS 免費,最多可擴大至 80000 |
16 TiB | 18,000 | 前 12000 IOPS 免費,最多可擴大至 80000 |
32 TiB | 20,000 | 前 12000 IOPS 免費,最多可擴大至 80000 |
64 TiB | N/A | 前 12000 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,特別是當您選擇具有較少虛擬核心的伺服器時。 若要深入瞭解,請參閱 Azure Database for PostgreSQL 中的彈性伺服器計算選項。
附註
無論您指派給執行個體的儲存體類型為何,儲存體只能擴大,而不能縮小。
您可以在 Azure 入口網站或使用 Azure CLI 命令來監視 I/O 耗用量。 要監視的相關計量包括儲存體限制、儲存體百分比、已使用的儲存體和 I/O 百分比。
磁碟完整條件
當您的儲存體滿載時,伺服器會開始傳回錯誤,並防止任何進一步的修改。 達到限制也可能會造成其他作業活動的問題,例如備份和預寫記錄檔 (WAL) 封存。 有不同的方式可以避免這種磁碟空間已滿的情況:
- 為了避免這種情況,當儲存體使用量達到 95% 或當可用容量小於 5 GiB 時,伺服器會自動切換為唯讀模式。 如果您使用進階 SSD 記憶體類型,您可以使用 記憶體自動成長 功能或相應增加伺服器的記憶體,以避免發生此問題。
- 如果伺服器因為磁碟完整狀況而標示為唯讀,您可以刪除不再需要的數據,若要這樣做,您可以執行下列命令,將模式變更為讀寫模式,一旦完成,您就可以執行 delete 命令。
SET SESSION CHARACTERISTICS AS TRANSACTION READ WRITE;
建議您使用storage_percentage或storage_used計量主動監視正在使用的磁碟空間,並在記憶體中用盡可用空間之前增加磁碟大小。 您可以設定警示,讓系統在伺服器儲存體接近磁碟空間不足狀態時通知您。 如需詳細資訊,請參閱如何使用 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 受控磁碟的限制。 在此情況下,不會觸發自動儲存體調整活動,即使伺服器已啟用儲存體自動成長設定也一樣。 在這種情況下,您必須手動擴充儲存體。 請注意,在此案例中 (達到或跨越 4096 GiB 界限),手動調整為離線作業。 建議您排程這項工作,以符合您的業務需求。 所有其他作業都可以在線上執行。 一旦配置的磁碟大小為 8,192 GiB 或更高後,儲存體自動成長就會再次自動觸發,而且每個後續的儲存體成長作業都會在線上執行,直到配置的磁碟達到成長容量上限,也就是 32,768 GiB。
附註
無論您指派給執行個體的儲存體類型為何,儲存體只能擴大,而不能縮小。
記憶體自動成長的限制和考慮
磁碟調整作業通常會在線上執行,但涉及超過 4,096 GiB 界限的特定案例除外。 這些案例包括達到或超過 4,096 GiB 的限制。 例如,從 2,048 GiB 調整為 8,192 GiB 會觸發離線作業。 在 Azure 入口網站中,移至 4 TB (以 4,095 GiB 表示),使作業保持線上狀態。 不過,如果您明確地將 4 TB 指定為 4,096 GiB,例如在 Azure CLI 中,則會以離線模式完成調整作業,因為其達到 4,096 GiB 的限制。 離線調整作業通常需要介於 2 到 10 分鐘的時間。 隨著停機時間調整功能減少,此持續時間會縮減為少於 30 秒。 這會在縮放資源期間減少停機時間,可改善資料庫執行個體的整體可用性。
在小於 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。
Price
如需最新的定價資訊,請參閱適用於 PostgreSQL 的 Azure 資料庫彈性伺服器定價。
Azure 入口網站也會根據選取的選項,顯示伺服器組態的預估每月成本估計。
您可以在適用於 PostgreSQL 的新 Azure 資料庫彈性伺服器頁面中,在整個伺服器建立體驗中看到該估計:
如果在現有執行個體的資源功能表中,於 [設定] 區段底下選取 [計算 + 儲存體],也可以看到現有伺服器:
如果您沒有 Azure 訂用帳戶,則可以使用 Azure 價格計算機來取得估計的價格。 在 Azure 定價計算機網站上,選取 [資料庫] 類別,然後選取 [適用於 PostgreSQL 的 Azure 資料庫],以將服務新增至您的報價,然後自訂選項。