让SQL Server为工作负载高峰提前做好准备

2016-01-29 16:08 0 1 收藏

让SQL Server为工作负载高峰提前做好准备,让SQL Server为工作负载高峰提前做好准备

【 tulaoshi.com - SQLServer 】

毫无疑问,许多电子商务网站都经历过假期的高访问量。例如,1-800-Flowers.com公司(1-800-Flowers.com网站)就在情人节、母亲节、圣诞节、复活节、感恩节、秘书节,以及团队感谢周那一天遇到了剧增的订单。还有其他大多数的在线零售商也都经历过从感恩节一直持续到12月26日的订货高峰期。

  那么你从这些公司身上可以了解到,他们需要保持高可用性,快速运行的数据库。下面我将按照以下的总体概念和清单,讨论几种你可以应对高峰来临的方式。

可用性方法

  集群

  高可用性通常包含了集群。当你需要较高级别的正常运转时间的时候,你需要对SQL Server进行集群,由以下几部分组成,有几个节点集合在一起形成的一个单个实例的集群,他们在面对客户的时候表现为一个单个的节点。如果集群中的一个节点掉线了(由于SQL Server错误,硬件错误或者维护),其他的节点将会自动接过它的工作负载。客户根本不需要重新连接到其他的节点上,因为这些节点都连接到一个虚拟的服务器上,它漂浮在所有活动节点之上。

  集权提供了对硬件和软件错误的自动错误容忍,但是它通常不会提供对本地错误的容忍(例如,放置集群的大厦或者房间内的电源坏了)。注意力应该放在消除单个点的失败,例如冗余电源供应或者备用的发电机能源。

  地理集群和负载均衡

  其他的高可用性方法包括地理集群,集群节点分布在不同的位置上;或者地理负载均衡,IP地址客户可以在主要的数据中心和灾难恢复网站之间交换。

  EMC公司,日立数据系统公司,还有现在的收购了赛门铁克的Veritas软件公司都提供了硬件的数据镜像,它可以提供持续的复制,这样灾难恢复网站就可以保证拥有你的数据的实时拷贝。硬件数据镜像工具可以用于连接地理IP解决方案,为灾难恢复网站提供自动化的错误恢复。

(本文来源于图老师网站,更多请访问https://www.tulaoshi.com/sqlserver/)

  缩小规模

  你还可以利用缩小规模的方法来将你的数据分散到多个工作机器上。不再让1000个用户都连接到一个SQL Server上,而是让10个SQL Server上分别连接100个用户。你的数据访问模式必须要与此相匹配,客户连接到哪个SQL Server都没关系,或者你必须要激活粘性会话。通过这种方式,每个客户在其会话长度内都连接到一个单个的SQL Server上。

  例如,如果你的联盟中有10个SQL Server提供分类信息,并且在这10个SQL Server之间的数据也是相同的,那么客户连接到哪个SQL Server上,然后又重新连接到哪个SQL Server上,这都没有关系。SQL Server 2005中的点对点应用程序就被恰好是为这种类型的缩小规模设计的。

(本文来源于图老师网站,更多请访问https://www.tulaoshi.com/sqlserver/)

  注意,SQL Server不能自动将负载分散给其他的SQL Server。你需要均衡网络负载,一边将负载分布到多个网络服务器上,并且联盟中的每个网络服务器上都安装一个或者多个SQL Server。

  理解工作流

  电子商务公司整年都在准备他们的旺季销售高峰。系统架构师研究工作流,以便于理解事务中的哪一个处理是必需的,哪一个可以是批量处理的,哪一个是可以从其他机器的并行处理中受益的。

  考虑一下一般的下订单的操作。输入信用卡并且在网页上经过验证,确保数字以某个序列开始,并且满足一定的长度。这个步骤可以在浏览器上进行,这样就可以不用占用网络服务器的处理器周期。信用卡交费通常是没有经过授权的,因为网络服务呼叫会在这一点上慢下来,导致整体的可测量性解决方案等级下降。如果不需要网络服务呼叫认证每一个信用卡事务,那么电子商务网站就可以支持好几千个,甚至更多的页面。信用卡将会在稍后大批处理过程中进行处理。

  正如上面的例子所演示等,通过仔细查看工作流,系统架构师辨认出可以异步执行的处理,那么整体的可测量性方案等级将会上升。

  负载测试

  具有广泛代表意义的负载测试是在负责复制产品机器的机器上完成的。这些负载测试都是经过严格分析的,能够标识并消除瓶颈。当瓶颈消除之后,负载测试将会重复进行,以标识并消除新的瓶颈。只要资源允许,这个迭代的过程将会持续下去。

  预备

  通常,所有的开发都会在电子商务网站迎接新的销售旺季之前几个星期结束,然后进入预备模式,不会再对产品机器进行任何的更改。自动的批处理管理也暂停了,只有在定位真正的攻击的时候才会使用批处理。在确定成为产品之前,这些紧急批处理的影响会在QA环境中进行评估。

清单“准备工作负载高峰”

  作为数据库管理员,你会采取什么行动来让SQL Server做好对负载高峰的准备?以下是一些可遵循的步骤。

  清单:让SQL Server为工作负载高峰做好准备

  维护

  如果你根本没有任何维护窗口:

  ?为尽可能多的不必要数据进行存档

  ?运行dbreindex来更新你的索引,并重新建立填充因子。

  在朝大型的数据库上,你也许不能这么奢侈。如果情况确实如此,那么采取以下步骤:

  关闭自动更新统计

  当表被修改的内容达到20%的极限时,SQL Server在默认情况下自动为表更新统计数据。要关闭自动更新/

来源:https://www.tulaoshi.com/n/20160129/1497552.html

延伸阅读
SQL Server 2005 和2008提供了很多新的和增强的商务智能功能,包括利用集成服务(SSIS)整合多种数据源;利用分析服务(SSAS)使数据内容更丰富并且建立复杂的商业分析; 以及利用报表服务(SSRS)编辑,管理,和提交丰富的报表. 如果你现在还不清楚这些功能,那么接下来一系列的介绍会让你对SQL Server现在的商务智能支持大吃一惊.不过现在关于SQL Ser...
今天一个朋友电话过来咨询我有关 Windows Server 2003 32bit 企业版最大支持的物理内存容量,主要是因为正在运营的一台数据库服务器内存使用达到 2G,服务器效率非常低打算扩展内存,为 SQL Server 提供更多的内存。 经过确认,服务器是 HP G3 系列支持 PAE,即物理地址扩展,服务器应该最大支持 32GB,而 Windows Server 2003 32bit...
1、概述 EOS本身不提供负载均衡、流量控制、过负载控制的处理,主要依靠于J2EE服务器和网络硬件设备来完成。本文根据普元公司的经验,主要论述对WebLogic Server负载均衡的考虑。 2、负载均衡 a)负载均衡方式 通过配置WebLogic Server集群(Cluster)可以实现负载均衡、失败转移功能。WebLogic Server可以对 Web应用...
分娩前要为胎儿准备些什么 新生儿不需要很多衣服,你所准备的衣服应该都是实用的,并且容易穿着和洗涤。宝宝的贴身衣服最好是纯棉的,因为它们要和宝宝的皮肤接触和摩擦。 购买时,不必买与新生儿合身的衣服,因为大多数婴儿数周内就会长得穿不下,所以一开始就买3个月婴儿穿的衣服。婴儿一般不爱让人家脱衣服,因此要买容易 穿、脱的简单服装...
标签: 分娩
生孩子到底需要多长时间     生孩子到底需要多长的时间?有些妈妈生孩子很顺利很快,有些妈妈生孩子怎么那么困难呢?     分娩时间的长短是因人而异的,跟产妇的骨盆条件、胎宝宝的胎位等情况有密切联系,产程过慢最常见的原因还是孕妈咪宫缩乏力。所以,孕妈妈在生产前,一定要积极产...

经验教程

853

收藏

82
微博分享 QQ分享 QQ空间 手机页面 收藏网站 回到头部