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
S2:50 DTU

P1:100 DTU
P2:200 DTU
P3:800 DTU

客户如何才能不考虑硬件规格而选择性能级别?

我们深知,无论是内部部署环境还是虚拟机环境,都会通过计算机规格来评估系统可以为数据库工作负荷提供的运行能力。然而,在平台即服务环境下,这一方法却起不到应有的作用,这种环境本身会对底层硬件和操作系统进行抽象化,并以此作为价值主张,为客户提供整体优势。

客户不断地向我们反馈说,他们会通过选择性能级别、构建应用程序并根据需要测试和优化这些应用程序来评估构建云设计应用程序的性能要求。在内部部署环境下,复杂的硬件规格评估要求比较重要,因为这种环境需要纵向扩展,因此就需要更为谨慎地进行考量和计算。而如果使用数据库即服务,则可以通过 API 或 Azure 门户轻松地调整性能水平。

有关详细信息,请参见 MSDN 上的性能指南。

客户如何才能查看某个性能级别的资源利用率?

客户可以监视可用 CPU、内存和读写 IO 随时间变化的百分比。

 

每小时、每分钟和每秒事务率是指什么?

每种性能级别的吞吐量都会不断提高。通过汇总每个服务级别的吞吐量,并用每小时、每分钟和每秒支持事务率来表示,客户就可以轻松地将服务级别的功能与应用程序的需求快速关联起来。例如,基本服务级别适用于按每小时事务数对活动进行衡量的应用程序。举例来说,一个面包店的某个销售点 (POS) 终端所需的吞吐量是,在一小时内卖出上百个面包。标准服务级别适用于按每分钟几十个或几百个事务衡量吞吐量的应用程序。高级服务级别适用于密度最高的任务关键型吞吐量,也就是说,每秒需要支持成百上千个并发事务。

如果客户想要用易懂的语言精确地了解 DTU 运行能力,应该如何做?

为了让客户能够使用比较熟悉的参考点来选择合适的性能级别,微软为 7 个性能级别(基本、S0、S1、S2、P1、P2 和 P3)中的每一个性能级别发布了相应的 OLTP 基准数字。这些事务率数据来自内部的微软云基准环境,用于模拟典型 OLTP 云应用程序的数据库工作负荷。与所有其他基准一样,这些事务率数据仅供参考。真实的数据库具有不同的容量和复杂度,并会运行各种各样的工作负荷,其响应方式也各不相同。但是,微软发布的这些事务率数据有助于客户了解每种性能级别的相对吞吐量。微软发布的基准事务率如下所示,有关方法的文章,请参见此处。

基本

标准

高级

基本: 16,600/小时

S0:521/分钟

S1:934/分钟
S2:2,570/分钟

P1:105/秒
P2:228/秒
P3:735/秒

谈到 DTU,我们可以参考汽车行业的大量类似情形。使用马力衡量引擎动力时,赛车和卡车对马力的使用有很大不同,因此结果也会不同。同样,对于不同的工作负荷类型,数据库使用 DTU 运行能力也会获得不同的结果。微软基准数字是基于一个已定义的 OLTP 工作负荷(如赛车)的,而客户需要为其独特的工作负荷需求评估性能水平。

通过已发布的基准来定义数据库运行能力相当于在云环境下模拟 TPC-C。TPC-C 是一种传统的行业标准方法,用来定义数据库工作负荷的最大潜在运行能力。熟悉传统数据库和数据库系统的客户会很清楚基准数字的价值以及不足之处。我们发现,初创公司以及新入行的开发人员不太了解标杆行业,然而,他们会更热情地投入到构建、测试和优化之中。

我们认为,为客户提供基准定义的事务率,并使其可以快速构建、试验和优化(纵向扩展),便可满足大多数客户的性能评估需求。

已发布的事务率可以保证吞吐量吗?

微软发布的基准以及相关的事务率并不代表对客户做出事务保证。尽管客户的工作负荷各不相同,但客户不能将高峰期间的事务累积在一起,也不能将各个事务分摊到每秒、每分钟、每小时和每天。客户要想评估实际性能需求,最好的做法就是在 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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/471908.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

matlab粒子图像测速工具,程序 PIVlab - 时间分辨粒子图像测速(PIV)工具: 一 联合开发网 - pudn.com...

程序所属分类:图形图像处理开发工具:matlab文件大小:7964KB下载次数:29上传日期:2017-07-21 11:48:16上 传 者:long1219说明: PIVlab - 时间分辨粒子图像测速(PIV)工具:一种基于GUI…

LeetCode 1852. 每个子数组的数字种类数(滑窗)

文章目录1. 题目2. 解题1. 题目 给你一个整数数组 nums与一个整数 k,请你构造一个长度 n-k1 的数组 ans,这个数组第i个元素 ans[i] 是每个长度为k的子数组 nums[i:ik-1] [nums[i], nums[i1], ..., nums[ik-1]]中数字的种类数。 返回这个数组 ans。 示…

python读文件出现特殊字符_python- pandas :读取列中带有特殊字符的文件

添加参数na_values ’?’到read_csv.样品:import pandas as pdimport iotempu"""Date Time,a2010-01-27 16:00:00,?2010-01-27 16:10:00,2.22010-01-27 16:30:00,1.7"""df pd.read_csv(io.StringIO(temp),na_values?)p…

娜塔莉波特曼2015哈佛毕业演讲

Hello, class of 2015.I am so honest to be here today.Dean Khurana,faculty,parents,and most especially graduating students. Thank you so much for inviting me. The Senior Class Committee. it’s genuinely one of the most exciting things I’ve ever been asked …

PHP ajax 传递中文乱码,ajax+php传递中文乱码解决办法

AJAX的乱码的出现在的原因由于XMLHTTP采用的是Unicode编码上传数据,而一般页面采用的是gb2312,这就造成显示页面时产生乱码。而当在获取页面时的XMLHttp返回的是utf-8编码,这就造成了显示产生乱码。解决方法之一就是在PHP文件中显示声明为GB2312header(&…

用chrome模拟微信浏览器访问需要OAuth2.0网页授权的页面

现在很流行微信网页小游戏,用html5制作的小游戏移过来,可以放到微信浏览器中打开,关键是可以做成微信分享朋友圈的形式,大大提高游戏的传播,增强好友的游戏互动。 微信浏览器中打开网页游戏效果还不错,对手…

LeetCode 1891. 割绳子(二分查找)

文章目录1. 题目2. 解题1. 题目 给定一个整数数组 ribbons 和一个整数 k,数组每项 ribbons[i] 表示第 i 条绳子的长度。 对于每条绳子,你可以将任意切割成一系列长度为正整数的部分,或者选择不进行切割。 例如,如果给你一条长度…

公需科目必须学吗_专业技术人员一般公需科目学习的通知

根据浙江省人力资源和社会保障厅《浙江省专业技术人员继续教育学时管理办法(试行)》(浙人社发〔2016〕63号)精神,专业技术人员每年度应参加继续教育不得少于90学时,其中专业科目不少于60学时,行业公需和一般公需科目不少于18学时。现将专业技…

php.ini开启命名空间,Zend Framework教程之模型Model基本规则和使用方法

本文实例讲述了Zend Framework教程之模型Model基本规则和使用方法。分享给大家供大家参考,具体如下:这里讲讲Zend中的model。其实Zend中的Model处理是相当简单的。这主要得益于autoload功能。不像其它框架,为model定义复杂的基类。如果要定义…

LeetCode 1618. 找出适应屏幕的最大字号(二分查找)

文章目录1. 题目2. 解题1. 题目 给定一个字符串 text。并能够在 宽为 w 高为 h 的屏幕上显示该文本。 字体数组中包含按升序排列的可用字号,您可以从该数组中选择任何字体大小。 您可以使用FontInfo接口来获取任何可用字体大小的任何字符的宽度和高度。 FontInf…

UML类图画法及类之间几种关系

文章目录如下: 一、类图画法 二、类之间的几种关系:泛化(Generalization)、实现(Realization)、关联(Association)(又分一般关联、聚合(Aggregation&#xff…

web前端知识点太多_web前端常见知识点

csstable布局的缺点1、Table要比其它html标记占更多的字节。(延迟下载时间,占用服务器更多的流量资源。)2、Tablle会阻挡浏览器渲染引擎的渲染顺序。(会延迟页面的生成速度,让用户等待更久的时间。)3、Table里显示图片时需要你把单个、有逻辑性的图片切成…

python可变参数教学,Python函数可变参数详解

在实际使用函数时,可能会遇到“不知道函数需要接受多少个实参”的情况,不过好在 Python 允许函数从调用语句中收集任意数量的实参。例如,设计一个制作披萨的函数,我们知道,披萨中可以放置很多种配料,但无法…

LeetCode 1634. 求两个多项式链表的和

文章目录1. 题目2. 解题1. 题目 多项式链表是一种特殊形式的链表,每个节点表示多项式的一项。 每个节点有三个属性: coefficient:该项的系数。项 9x4 的系数是 9 。power:该项的指数。项 9x4 的指数是 4 。next:指向…

进制A~Z,全字母26进制转化

public String to26( int x ) { StringBuffer sBuffer new StringBuffer(); int cur; x; while( x > 0 ) { sBuffer.append((char)( (( cur x % 26 ) 0 ? 25 : cur - 1) A) );x / 26; if( cur 0 ) x--; } sBuffer.reverse(); return sB uffer.toString(); } private …

es6 类的私有属性_JavaScript ES6类中的私有属性

要扩展loganfsmyth的回答:JavaScript中唯一真正私有的数据仍然是作用域变量。不能以与公共属性相同的方式在内部访问私有属性,但是可以使用范围变量来存储私有数据。作用域变量这里的方法是使用构造函数的作用域(它是私有的)来存储私有数据。要使方法能够…

python编程制作接金币游戏,闪电侠接金币的FlashMan类

python the Flash man catch coin gif animation闪电侠是美剧,这里是一个小游戏,操作闪电侠接不断冒出来的金币。本模块定义了FlashMan类。这个模块能单独运行,运行后用鼠标操作闪电侠移动即可。以下是部分代码预览:""&…

LeetCode 1660. 纠正二叉树(BFS)

文章目录1. 题目2. 解题1. 题目 你有一棵二叉树,这棵二叉树有个小问题,其中有且只有一个无效节点,它的右子节点错误地指向了与其在同一层且在其右侧的一个其他节点。 给定一棵这样的问题二叉树的根节点 root ,将该无效节点及其所…

MS SQL Server 常用操作

以下为常用: --发邮件应该很常用吧 exec msdb.dbo.sp_send_dbmailprofile_name mail_profile, --邮件配置主档,通过数据库邮件配置向导生成,一般叫dba_profile,详细看下图recipients email_recipients, --地址,多个用英文逗号隔…

arduino yun 京东_Arduino发布多款全新升级产品,宣布将成立Arduino基金会

上海2015年10月23日电 /美通社/ -- 10月18日上午,全球知名开源硬件供应商 Arduino 全球首席执行官 Federico Musto 现身上海创客嘉年华发表演讲。演讲中 Federico 发布了 Arduino Uno Pro、Arduino M0 S、 Arduino Leonardo XS、 Arduino Uno XS 以及机械手臂套件 B…