Azure SQL 数据库:服务级别与性能问答
ShawnBice??? 2014 年 5 月 5 日上午 10:00
幾天前,我發表了一篇文章,并就 4 月 24 日發布的適用于Windows Azure SQL?數據庫的新服務級別提供了一些預料中的問題和解答,在其中為讀者介紹了一些詳細信息。在這篇跟進文章中,我想提供一些關于這些服務級別如何影響 SQL 數據庫性能的更多信息。
與上一篇文章一樣,本文檔的最初寫作目的也是幫助微軟團隊人員解決有關新服務級別的常見問題,當然,這些信息也肯定與您密切相關。
Shawn Bice
數據平臺團隊項目主管
新服務級別如何提升 SQL 數據庫性能?
客戶一直向我們反映,他們非常重視性能的可預測性。為了解決這一問題,我們起初推出了高級服務級別,以便為具有高吞吐量需求的數據庫工作負荷提供支持。我們始終致力于提高性能的可預測性,為此,我們以更低的價格推出了新的服務級別(基本和標準級別),它們在性能上存在主要差別。隨著性能水平的提升,可用吞吐量也會隨之增加。此項服務設計可以使客戶通過部署合理數量的資源來獲得其數據庫所需的吞吐量。
高級服務級別有何變化?
自 4 月 24 日起,Azure SQL 數據庫高級級別預覽版推出了全新的 500 GB 最大容量、擁有另一性能級別 (P3)、新的業務連續性功能(活動異地復制和自助式還原)以及簡化的配置和計費體驗。
高級服務級別有哪些新功能?
活動異地復制:可以在任何 Azure 區域創建多達四個活動可讀輔助數據庫并選擇何時進行故障轉移,以此控制災難恢復過程。有關使用活動異地復制的詳細信息,請參見災難恢復文檔。
自助式還原:有了 SQL 數據庫高級服務級別,在數據被人為刪除或被程序刪除的情況下,您可以將數據庫還原回過去 35 天內的任意時間點。對數據庫還原進行自助式控制可以取代導入/導出的方法。有關使用自助式還原的更多信息,請參見還原服務文檔。
更大的數據庫容量: 維護高達 500 GB 數據庫的費用會包括在日常成本中(不會單獨針對數據庫容量另行收費)。
新增高級性能級別:增加了 P3 性能級別,可滿足高吞吐量需求,可以最大程度地提升要求最苛刻的數據庫工作負荷的性能。要了解有關 SQL 數據庫高級服務級別和定價的詳細信息,請訪問SQL 數據庫定價頁面。
什么是性能級別?
Azure SQL 數據庫服務級別提出了性能級別的概念?;?、標準和高級服務級別共有 7 個性能級別。這些性能級別分別為基本、S0、S1、S2、P1、P2 和 P3。每個性能級別都可以為運行從輕型到重型的不同數據庫工作負荷提供一組所需的資源。
對于不同性能級別可實現的性能水平,客戶有何見解?
為了讓客戶獲得可預測性更強的性能體驗,SQL 數據庫推出了數據庫吞吐量單位 (DTU)。DTU 代表數據庫引擎的性能,是一個合并了CPU、內存和讀寫速率的度量單位。此度量單位可以幫助用戶評估 SQL 數據庫七大性能級別(基本、S0、S1、S2、P1、P2 和 P3)的相對性能。
性能級別可提供以下 DTU:
| 基本 | 標準 | 高級 |
| 基本:5 DTU | S0:10 DTU S1:20 DTU | P1:100 DTU |
客戶如何才能不考慮硬件規格而選擇性能級別?
我們深知,無論是內部部署環境還是虛擬機環境,都會通過計算機規格來評估系統可以為數據庫工作負荷提供的運行能力。然而,在平臺即服務環境下,這一方法卻起不到應有的作用,這種環境本身會對底層硬件和操作系統進行抽象化,并以此作為價值主張,為客戶提供整體優勢。
客戶不斷地向我們反饋說,他們會通過選擇性能級別、構建應用程序并根據需要測試和優化這些應用程序來評估構建云設計應用程序的性能要求。在內部部署環境下,復雜的硬件規格評估要求比較重要,因為這種環境需要縱向擴展,因此就需要更為謹慎地進行考量和計算。而如果使用數據庫即服務,則可以通過 API 或 Azure 門戶輕松地調整性能水平。
有關詳細信息,請參見 MSDN 上的性能指南。
客戶如何才能查看某個性能級別的資源利用率?
客戶可以監視可用 CPU、內存和讀寫 IO 隨時間變化的百分比。
?
每小時、每分鐘和每秒事務率是指什么?
每種性能級別的吞吐量都會不斷提高。通過匯總每個服務級別的吞吐量,并用每小時、每分鐘和每秒支持事務率來表示,客戶就可以輕松地將服務級別的功能與應用程序的需求快速關聯起來。例如,基本服務級別適用于按每小時事務數對活動進行衡量的應用程序。舉例來說,一個面包店的某個銷售點 (POS) 終端所需的吞吐量是,在一小時內賣出上百個面包。標準服務級別適用于按每分鐘幾十個或幾百個事務衡量吞吐量的應用程序。高級服務級別適用于密度最高的任務關鍵型吞吐量,也就是說,每秒需要支持成百上千個并發事務。
如果客戶想要用易懂的語言精確地了解 DTU 運行能力,應該如何做?
為了讓客戶能夠使用比較熟悉的參考點來選擇合適的性能級別,微軟為 7 個性能級別(基本、S0、S1、S2、P1、P2 和 P3)中的每一個性能級別發布了相應的 OLTP 基準數字。這些事務率數據來自內部的微軟云基準環境,用于模擬典型 OLTP 云應用程序的數據庫工作負荷。與所有其他基準一樣,這些事務率數據僅供參考。真實的數據庫具有不同的容量和復雜度,并會運行各種各樣的工作負荷,其響應方式也各不相同。但是,微軟發布的這些事務率數據有助于客戶了解每種性能級別的相對吞吐量。微軟發布的基準事務率如下所示,有關方法的文章,請參見此處。
| 基本 | 標準 | 高級 |
| 基本: 16,600/小時 | S0:521/分鐘 S1:934/分鐘 | P1:105/秒 |
談到 DTU,我們可以參考汽車行業的大量類似情形。使用馬力衡量引擎動力時,賽車和卡車對馬力的使用有很大不同,因此結果也會不同。同樣,對于不同的工作負荷類型,數據庫使用 DTU 運行能力也會獲得不同的結果。微軟基準數字是基于一個已定義的 OLTP 工作負荷(如賽車)的,而客戶需要為其獨特的工作負荷需求評估性能水平。
通過已發布的基準來定義數據庫運行能力相當于在云環境下模擬 TPC-C。TPC-C 是一種傳統的行業標準方法,用來定義數據庫工作負荷的最大潛在運行能力。熟悉傳統數據庫和數據庫系統的客戶會很清楚基準數字的價值以及不足之處。我們發現,初創公司以及新入行的開發人員不太了解標桿行業,然而,他們會更熱情地投入到構建、測試和優化之中。
我們認為,為客戶提供基準定義的事務率,并使其可以快速構建、試驗和優化(縱向擴展),便可滿足大多數客戶的性能評估需求。
已發布的事務率可以保證吞吐量嗎?
微軟發布的基準以及相關的事務率并不代表對客戶做出事務保證。盡管客戶的工作負荷各不相同,但客戶不能將高峰期間的事務累積在一起,也不能將各個事務分攤到每秒、每分鐘、每小時和每天??蛻粢朐u估實際性能需求,最好的做法就是在 Azure 門戶上查看實際資源使用率。詳細視圖會采用可用 CPU、內存和讀寫操作在已定義性能級別下的百分比來顯示資源使用率隨時間變化的情況。
為什么微軟不直接為數據庫標桿行業標準 TPC 發布基準呢?
目前,TPC 不允許云提供商為數據庫工作負荷發布 TPC 基準。當前還沒有制定出其他云供應商行業標準。
微軟是否會發布可在客戶自有環境中運行的基準代碼?
目前尚無向客戶發布基準的計劃。但是,微軟將公布一些方法細節(請參見此處),幫助客戶運行已定義的 OLTP 工作負荷來實現已公布的基準數字。
本文翻譯自:
http://blogs.technet.com/b/dataplatforminsider/archive/2014/05/05/azure-sql-database-service-tiers-amp-performance-q-amp-a.aspx
轉載于:https://www.cnblogs.com/new0801/p/6176138.html
總結
以上是生活随笔為你收集整理的Azure SQL 数据库:服务级别与性能问答的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 黑苹果win双系统还原四叶草引导(Win
- 下一篇: 探针台公司