SQL Server提高事务复制效率优化(二)快照初始化优化
测试数据表量1500w+,使用初始化默认的快照代理参数,复制的三个过程包括快照初始化,订阅初始化和数据修改复制,主要对快照代理、分发代理、日志读取代理分别作了参数优化,并给出优化前后的对照实验测试。
- 在复制监视器中找到快照代理位置,右键,选择代理配置文件:
- 查看默认配置:
- 初始化快照时间:
2.优化参数测试
- 新建一个快照代理配置文件,命名为“快照代理优化参数 ”
- 查找这个代理配置文件的profile_id
use msdb
SELECT * FROM msdb.dbo .MSagent_profiles WHERE agent_type =1
或者
EXEC sp_help_agent_profile @agent_type= 1
这里的agent_type注解如下
- 修改配置文件,这里新增了MaxBcpThreads,MaxNetworkOptimization参数,修改了BcpBatchSize,HistoryVerboseLevel参数,对于性能提高最大的参数就是MaxBcpThreads,其他参数调整对性能调高不大,但MaxNetworkOptimization参数一定要调整到1,可以减少传输到订阅服务器上不必要的操作。
USE msdb
EXEC sp_add_agent_parameter @profile_id = 17,
@parameter_name = 'MaxBcpThreads', @parameter_value = 4 EXEC sp_add_agent_parameter @profile_id = 17,
@parameter_name = 'MaxNetworkOptimization', @parameter_value = 1 EXEC sp_change_agent_parameter @profile_id = 17,
@parameter_name = 'BcpBatchSize', @parameter_value = 200000 EXEC sp_change_agent_parameter @profile_id = 17,
@parameter_name = 'HistoryVerboseLevel', @parameter_value = 1
- 调整后的参数:
- 优化后测试结果,时间大大减少。但是如果在有业务负载同时生成快照,那么资源消耗很大,建议合理调整参数,不要设置太大并发,用默认配置已经有很高的I/O了。
SQL Server提高事务复制效率优化(二)快照初始化优化的更多相关文章
- SQL Server提高事务复制效率优化(一)总体概述
随着公司业务的发展,数据量增长迅速,在解决Scale Out的同时,还要考虑到主从的复制延迟问题,尽量降到1s以内满足线上业务,如果不调整,SQL Server默认的配置可能平均要3s左右.生产的 ...
- SQL Server提高事务复制效率优化(四)修改数据同步过程优化
1.原理 我说的数据修改同步过程指的是在快照生成完毕,分发代理将快照应用于订阅服务器完成订阅服务器初始化后,发布服务器后续的更改同步到订阅服务器过程,这也就是我们常常关注的延迟.此过程主要 ...
- SQL Server提高事务复制效率优化(三)订阅初始化优化
初始化订阅主要是由分发代理分发和应用快照代理之前生成的快照,所以优化的主体是分发代理. 1.初始化订阅 首先在本地创建一个订阅,发布服务器.分发服务器和订阅服务器都在同一台服务器上,仅为了测试生产环境 ...
- SQL Server 2000事务复制问题
2000现在用的估计不多了,把之前收集的一些复制问题整理发布出来.可能都是些很白很二的问题,但人总是由最初的无知不断成长●-● SQL Server 2000事务复制问题服务器A(发布) 服务器B(分 ...
- SQL Server提高并发查询效率
同事写了个程序用创建多个线程使用ado同时对同个数据库进行相同的查询,涉及2张数据表的联查.当线程数非常多的情况下,读取数据的效率就会变得很慢,例如50个线程同时查询大概3000条数据,查询完成后通过 ...
- (转)SQL Server 的事务和锁(二)-Range S-S锁
在这篇随笔中,我们的主要关注点在 Key-Range Lock.Key-Range Lock有 S-S.S-U.I-N.X-X几种情况.我们一个一个来说,力求明白.遗憾的是,这里可能会比较冗长,那么死 ...
- SQL Server 的事务和锁(二)-Range S-S锁
在这篇随笔中,我们的主要关注点在 Key-Range Lock.Key-Range Lock有 S-S.S-U.I-N.X-X几种情况.我们一个一个来说,力求明白.遗憾的是,这里可能会比较冗长,那么死 ...
- Sql Server 2012 事务复制遇到的问题及解决方式
1.订阅服务器提示:作业失败.无法确定所有者 WIN-01Q6JB46CHV\Administrator(拥有作业XXX)是否有服务器访问权限(原因:无法获取有关 Windows NT 组/用户'WI ...
- SQL Server 2005同步复制
原文:SQL Server 2005同步复制 以下实现复制步骤(以快照复制为例) 运行平台SQL SERVER 2005 一.准备工作: 1.建立一个 WINDOWS 用户,设置为管理员权限,并设置密 ...
随机推荐
- jquery之css操作
HTML示例代码 <!DOCTYPE html> <html lang="en"> <head> <meta charset=" ...
- VS中的路径宏 vc++中OutDir、ProjectDir、SolutionDir各种路径
原文链接:http://www.cnblogs.com/lidabo/archive/2012/05/29/2524170.html 说明 $(RemoteMachine) 设置为“调试”属性页上“远 ...
- linux for循环更改文件名字
#!/bin/bash # for a in CentOS-Base.repo CentOS-Debuginfo.repo CentOS-Media.repo CentOS-Vault.repo Ce ...
- [转]一些TCP和UDP使用问题汇总
下面是在实际后台开发中遇到的一些关于TCP和UDP的问题,这里慢慢积累起来: UDP连续发送2次数据包,第一次发100字节,第二次发200字节,服务端recvfrom(1000)时收到100.200还 ...
- Javascript模式(第四章函数)------读书笔记
一 背景 js函数的两个特点:1 函数是第一类对象(first-class object):2 函数可以提供作用域 1 函数是对象: 1 函数可以在运行时动态创建,还可以在程序执行过程中创建 2 可以 ...
- .net解决程序集版本冲突的方法
以log4net为例,分为两种情况 1.不同version,相同publicKeyToken 在bin里放较新版本的dll 并在web|app.config的<configuration> ...
- Delphi 使用CreateProcess创建进程并弹出进程PID值 (转)
var ExeName:PChar; StartupInfo:TStartupInfo; ProcessInfo:TProcessInformation;begin FillChar(Proc ...
- 【巩固】JS中的封闭空间
封闭空间的主要思想在于: JS中给一个变量外面加小括号,是不改变任何结果的.比如 var show = function(){ //定义一个名字为show的函数 ); }; show(); //调用名 ...
- Android学习笔记(十二)
Fragment是一种可以嵌入在活动当中的UI片段,它能让程序更加合理和充分地利用大屏幕的空间. 碎片的简单用法:新建一个FragmentTest项目,然后新建一个左侧碎片布局left_fragmen ...
- 一行代码解决各种IE兼容问题,IE6,IE7,IE8,IE9,IE10 http://www.jb51.net/css/383986.html
在网站开发中不免因为各种兼容问题苦恼,针对兼容问题,其实IE给出了解决方案Google也给出了解决方案百度也应用了这种方案去解决IE的兼容问题 百度源代码如下 复制代码 代码如下: <!Do ...