让SQL Server为工作负载高峰提前做好准备[2] 软件测试
注意,SQL Server不能自动将负载分散给其他的SQL Server。你需要均衡网络负载,一边将负载分布到多个网络服务器上,并且联盟中的每个网络服务器上都安装一个或者多个SQL Server。
理解工作流
电子商务公司整年都在准备他们的旺季销售高峰。系统架构师研究工作流,以便于理解事务中的哪一个处理是必需的,哪一个可以是批量处理的,哪一个是可以从其他机器的并行处理中受益的。
考虑一下一般的下订单的操作。输入信用卡并且在网页上经过验证,确保数字以某个序列开始,并且满足一定的长度。这个步骤可以在浏览器上进行,这样就可以不用占用网络服务器的处理器周期。信用卡交费通常是没有经过授权的,因为网络服务呼叫会在这一点上慢下来,导致整体的可测量性解决方案等级下降。如果不需要网络服务呼叫认证每一个信用卡事务,那么电子商务网站就可以支持好几千个,甚至更多的页面。信用卡将会在稍后大批处理过程中进行处理。
正如上面的例子所演示等,通过仔细查看工作流,系统架构师辨认出可以异步执行的处理,那么整体的可测量性方案等级将会上升。
负载测试
具有广泛代表意义的负载测试是在负责复制产品机器的机器上完成的。这些负载测试都是经过严格分析的,能够标识并消除瓶颈。当瓶颈消除之后,负载测试将会重复进行,以标识并消除新的瓶颈。只要资源允许,这个迭代的过程将会持续下去。
预备
通常,所有的开发都会在电子商务网站迎接新的销售旺季之前几个星期结束,然后进入预备模式,不会再对产品机器进行任何的更改。自动的批处理管理也暂停了,只有在定位真正的攻击的时候才会使用批处理。在确定成为产品之前,这些紧急批处理的影响会在QA环境中进行评估。
清单“准备工作负载高峰”
作为数据库管理员,你会采取什么行动来让SQL Server做好对负载高峰的准备?以下是一些可遵循的步骤。
清单:让SQL Server为工作负载高峰做好准备
维护
如果你根本没有任何维护窗口:
为尽可能多的不必要数据进行存档