無伺服器是計算層,適用於Azure SQL Database中單一資料庫,能根據工作負載需求自動擴展運算,並依每秒計算量計費。 無伺服器計算層也會在只有儲存體仍在計費的資料庫非使用中期間自動暫停資料庫,並在有活動傳回時自動繼續執行資料庫。 無伺服器計算層在一般用途服務層級和超大規模服務層級中提供。
概觀
計算自動調整範圍和自動暫停延遲是無伺服器計算層的重要參數。 這些參數的設定會形成資料庫的效能體驗和計算成本。
顯示無伺服器計費機制因未使用而停止產生計算費用的圖表。
效能設定
- minimum vCores 和 maximum vCores 均為可設定的參數,其定義資料庫可用計算容量的範圍。 記憶體和 IO 限制會與指定的虛擬核心範圍成比例。
- 自動暫停延遲是一個可設定的參數,定義資料庫必須處於非活動狀態的時間段,之後才會自動暫停。 當下一次登入或其他活動發生時,資料庫會自動恢復。 或者,你也可以關閉自動暫停。 更多資訊請參閱 Azure SQL Database 無伺服器運算層的自動暫停與自動恢復。
預設設定
下表顯示這些參數的可用值。
| 參數 | 價值選擇 | 預設值 |
|---|---|---|
| 最低 vCore | 取決於已設定的最大虛擬核心數 - 詳見資源限制。 | 0.5 個虛擬核心 |
| 一般用途的自動暫停延遲時間 | 最小值:15 分鐘 最大值:10,080 分鐘(七天) 增量:1 分鐘 停用自動暫停:-1 |
60 Minuten |
| Hyperscale 的自動暫停延遲 | 最少:60分鐘 最大值:10,080 分鐘(七天) 增量:1 分鐘 停用自動暫停:-1 |
60 Minuten |
成本
無伺服器資料庫的成本是計算成本與儲存成本的總和。 儲存體成本的決定方式與已佈建的計算層相同。
- 當運算使用量介於你設定的最小與最大限制之間時,計算成本是根據 vCore 和記憶體使用的量計算。
- 當運算使用量低於你設定的最低限制時,計算成本是根據設定的最小 vCore 和最小記憶體計算。
- 當資料庫暫停時,計算成本為零,而且只會產生儲存體成本。
欲了解更多成本細節,請參閱 無伺服器運算層計費與成本情境。
情境
無伺服器的性價針對採用間歇性、無法預測使用模式的單一資料庫最佳化,這些資料庫可接受在閒置使用期間之後,計算準備有些延遲。 相較之下,已佈建計算層則是針對單一資料庫或 彈性集區中的多個資料庫進行價格效能最佳化,適用於平均使用率較高且無法承受任何計算預熱延遲的情況。
適合用於無伺服器計算的案例
- 對於使用模式間歇性、不可預測,且穿插不活躍期及平均計算使用率下降的單一資料庫,使用無伺服器計算。
- 對於配置計算層中經常重新擴展的單一資料庫,或是你偏好將計算重新擴展委派給服務時,使用無伺服器計算。
- 當在 Azure SQL Database 部署前難以或無法估算運算規模時,對於新的單一資料庫,請使用無伺服器運算,且沒有使用歷史。
適合配置計算的應用場景
- 對於使用模式較為規律、可預測且平均運算利用率較高的單一資料庫,使用配置計算。
- 對於無法容忍更頻繁的記憶體縮減,或無法接受從暫停狀態中恢復時延遲所造成效能取捨的資料庫,請使用已佈建的運算資源。
- 為多個使用模式間歇且不可預測的資料庫提供配置計算,這些資料庫可整合成彈性池以優化性價效能。
比較運算範疇
下表摘要說明無伺服器計算層級與佈建計算層級之間的差異:
| 無伺服器計算 | 配置的運算資源 | |
|---|---|---|
| 資料庫使用模式 | 間歇性、無法預測的使用量,且一段時間內的平均計算使用率較低。 | 更穩定的使用模式,且一段時間內的平均計算使用率較高,或是多個使用彈性集區的資料庫。 |
| 效能管理投入量 | 較低 | 較高 |
| 計算調整 | 自動 | 手動 |
| 初始運算響應性 | 在非使用期間後降低 | 立即 |
| 計費細微度 | 每秒 | 每小時 |
- 無伺服器運算的最佳資料庫使用模式是間歇性且不可預測,且隨時間平均計算使用率較低。 配置運算的最佳使用模式是較為規律,且平均運算利用率隨時間較高,或包含多個資料庫於彈性池中。
- 無伺服器運算所需的效能管理工作量較低。 配置運算需要更高的效能管理工作。
- 無伺服器運算會自動擴展。 手動配置計算尺度。
- 無伺服器運算在非啟用期間後的初始響應速度較低。 配置好的運算會立即回應。
- 無伺服器運算是以每秒計費。 配置好的運算是按小時計費。
購買模型和服務層級
下表說明無伺服器的支援,根據購買模型、服務層級和硬體分類:
| 類別 | 支援 | 不支援 |
|---|---|---|
| 購買模型 | 虛擬核心 | DTU |
| 服務層級 |
一般用途 超大規模 |
業務關鍵 |
| 硬體 | 標準系列 (Gen5) | 所有其他硬體 |
自動擴展無伺服器資料庫
欲了解更多關於自動擴展及無伺服器計算層的響應性,請參閱 Azure SQL Database 的無伺服器計算層自動擴展。
自動暫停與自動繼續
- 通用服務層級提供無伺服器自動暫停與自動恢復功能。
- 無伺服器自動暫停與自動恢復是 Azure SQL Database Hyperscale 的預覽功能。
關於自動暫停與自動續接行為、觸發器、故障排除及連線性的詳細資訊,請參閱 無伺服器運算層的自動暫停與自動續航。
建立新的無伺服器資料庫
關於使用 Azure 入口網站、PowerShell、Azure CLI 及 T-SQL 建立、移動及設定無伺服器資料庫的逐步說明,請參閱「建立與配置無伺服器資料庫」。
無伺服器運算層最佳實務
使用無伺服器資料庫時,請參考以下最佳實務。
實作應用程式重試邏輯
所有雲端連接的應用程式都應該使用 連線重試邏輯的建議。 所有雲端應用程式中,暫時性連線錯誤必須以重試邏輯處理。 無伺服器資料庫的重試邏輯尤其重要,因為自動恢復導致的暫時連線錯誤是可預測的。
欲了解更多資訊,請參閱 自動恢復連線故障排除。
檢視防止自動暫停的互通性
某些功能和設定可以 防止無伺服器資料庫自動暫停。 如果這些功能正在使用,你可以關閉資料庫的自動暫停功能。
更多資訊請參閱 自動暫停故障排除。
監視器
欲了解更多關於監控無伺服器資料庫暫停與恢復事件的資訊,請參閱 Azure SQL Database 的無伺服器計算層監控。
資源限制
關於資源限制,請參見 通用無伺服器運算 與 超大規模無伺服器運算。
帳單管理
如需詳細計費資訊,包括計算成本計算、最低計算費用,以及通用與超大規模層級的情境範例,請參見 無伺服器運算層計費。
可用區域
關於區域可用性,請參見Azure SQL Database 的 Serverless 區域可用性。