你可以使用 Azure 管理的磁碟 來建立 適用於 PostgreSQL 的 Azure 資料庫 的靈活伺服器實例,這些磁碟是由 Azure 管理的區塊層級儲存體,可與 Azure 虛擬機器搭配使用。 受控磁碟就像是內部部署伺服器中的實體磁碟,但已虛擬化。 使用受控磁碟時,您只需要指定磁碟大小、磁碟類型,以及物件磁碟。 一旦你配置好磁碟,Azure 就會處理剩下的部分。 適用於 PostgreSQL 的 Azure 資料庫 彈性伺服器實例支援高級固態硬碟(Premium SSD)和高級固態硬碟版本2(Premium SSD v2),價格依據你配置的運算、記憶體和儲存層級計算。
進階 SSD
Azure Premium SSD 為輸入/輸出(IO)密集型工作負載的虛擬機(VM)提供高效能且低延遲的磁碟支援。 進階 SSD 單位適用於任務關鍵性的生產應用程式。
進階 SSD v2
進階 SSD v2 提供比進階 SSD 更高的效能,同時成本更低,儼然成為一般規則。 您可以隨時調校進階 SSD v2 的效能 (容量、輸送量和每秒輸入/輸出作業,稱為 IOPS)。 執行這些調整可讓工作負載符合成本效益,同時滿足轉移的效能需求。 例如,交易密集型資料庫可能需要應付數天異常高需求的大量 IOPS。 或者,遊戲應用程式可能僅在尖峰時段需要較高的輸送量。 因此,針對大部分的一般用途工作負載來說,進階 SSD v2 可提供最佳的性價比。 你現在可以在所有支援的區域部署 適用於 PostgreSQL 的 Azure 資料庫 靈活伺服器實例,搭配 Premium 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 |
| 輸送量上限 | 1200 MB/s | 900 MB/秒 |
| 最大 IOPS | 80,000 | 20,000 |
根據預設,進階 SSD v2 最多可為每個區域的每個訂用帳戶提供 32 TiB,但可應要求支援更高的容量。 如需增加容量,請申請配額增加或聯絡 Azure 支援。
適用於 PostgreSQL 的 Azure 資料庫 服務提供 399 GiB 以下磁碟的基準吞吐量為 125 MB/s,超過 400 GiB 的磁碟則為 500 MB/s,且無需額外費用。 增加超出免費層的輸送量會產生額外費用。
您佈建的儲存體是適用於 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,特別是當您選擇具有較少虛擬核心的伺服器時。 欲了解更多,請參閱適用於 PostgreSQL 的 Azure 資料庫中的計算選項。
備註
無論您指派給執行個體的儲存體類型為何,儲存體只能擴大,而不能縮小。
你可以在 Azure 入口網站 監控你的 I/O 消耗,或使用 Azure CLI 指令。 要監視的相關計量包括儲存體限制、儲存體百分比、已使用的儲存體和 I/O 百分比。
磁碟完整條件
當您的儲存體滿載時,伺服器會開始傳回錯誤,並防止任何進一步的修改。 達到限制也可能會造成其他作業活動的問題,例如備份和預寫記錄檔 (WAL) 封存。 有不同的方式可以避免這種磁碟空間已滿的情況:
- 為了避免這種情況,當儲存體使用量達到 95% 或當可用容量小於 5 GiB 時,伺服器會自動切換為唯讀模式。 如果您使用進階 SSD 儲存體類型,您可以使用儲存體自動成長功能或相應增加伺服器的儲存體,以避免發生此問題。
- 如果伺服器因為磁碟完整狀況而標示為唯讀,您可以刪除不再需要的數據。 若要這樣做,您可以執行下列命令,將模式變更為讀寫,一旦完成,您就可以執行 delete 命令。
SET SESSION CHARACTERISTICS AS TRANSACTION READ WRITE;
建議您使用storage_percentage或storage_used計量主動監視正在使用的磁碟空間,並在記憶體中用盡可用空間之前增加磁碟大小。 您可以設定警示,讓系統在伺服器儲存體接近磁碟空間不足狀態時通知您。 欲了解更多資訊,請參閱 使用Azure入口網站設定 適用於 PostgreSQL 的 Azure 資料庫 的指標警示。
價格
如需最新的價格資訊,請參閱 適用於 PostgreSQL 的 Azure 資料庫 靈活伺服器價格。
Azure portal 也會根據所選選項,顯示伺服器設定的每月費用估算。
在整個伺服器建立體驗中都可看到該估計值,位於新增適用於 PostgreSQL 的 Azure 資料庫彈性伺服器頁面:
如果在現有執行個體的資源功能表中,於 [設定] 區段底下選取 [計算 + 儲存體],也可以看到現有伺服器:
如果你沒有 Azure 訂閱,可以使用 Azure 價格計算器來估算價格。 在 Azure 價格計算器網站上,選擇 Databases 類別,然後選擇 適用於 PostgreSQL 的 Azure 資料庫 將服務加入您的估價,然後自訂選項。