惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
Jina AI
Jina AI
Forbes - Security
Forbes - Security
雷峰网
雷峰网
人人都是产品经理
人人都是产品经理
博客园 - 叶小钗
V
Visual Studio Blog
月光博客
月光博客
博客园 - Franky
有赞技术团队
有赞技术团队
宝玉的分享
宝玉的分享
博客园 - 三生石上(FineUI控件)
酷 壳 – CoolShell
酷 壳 – CoolShell
Apple Machine Learning Research
Apple Machine Learning Research
The Register - Security
The Register - Security
S
SegmentFault 最新的问题
博客园 - 司徒正美
P
Proofpoint News Feed
Know Your Adversary
Know Your Adversary
CTFtime.org: upcoming CTF events
CTFtime.org: upcoming CTF events
A
Arctic Wolf
Cyberwarzone
Cyberwarzone
Simon Willison's Weblog
Simon Willison's Weblog
U
Unit 42
P
Proofpoint News Feed
Scott Helme
Scott Helme
MyScale Blog
MyScale Blog
T
Tenable Blog
Hugging Face - Blog
Hugging Face - Blog
cs.CL updates on arXiv.org
cs.CL updates on arXiv.org
小众软件
小众软件
C
CERT Recently Published Vulnerability Notes
P
Palo Alto Networks Blog
V
V2EX
Threat Intelligence Blog | Flashpoint
Threat Intelligence Blog | Flashpoint
T
Tailwind CSS Blog
V
Vulnerabilities – Threatpost
Latest news
Latest news
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
I
Intezer
Microsoft Azure Blog
Microsoft Azure Blog
爱范儿
爱范儿
博客园 - 【当耐特】
B
Blog RSS Feed
N
Netflix TechBlog - Medium
Recent Announcements
Recent Announcements
NISL@THU
NISL@THU
C
Cisco Blogs
C
CXSECURITY Database RSS Feed - CXSecurity.com
S
Schneier on Security

博客园 - nzperfect

PAGELATCH_EX Contention on 2:1:103 SQL Server AlwaysON 同步模式的疑似陷阱 XEvent – SQL Server Log文件对磁盘的写操作大小是多少 SQL Server Log文件对磁盘的写操作大小是多少 Initializing the FallBack certificate failed . TDSSNIClient initialization failed Error after SQL Server 2012 installation: Login Failure for "SQL Server Integration Services 11.0" SSIS service SQL Server 灾难恢复31天之第6天:管理区分配页损坏处理 SQL Server 灾难恢复31天之第5天:处理损坏的非聚集索引 SQL Server 灾难恢复31天之第3天:在还原数据库时确定需要哪些备份文件 SQL Server 灾难恢复31天之第4天:备份 SQL Server 灾难恢复31天之第2天:包含数据库备份在还原时的保护 SQL Server 灾难恢复31天之第1天:DBCC CHECK命令会自动使用已经存在的数据库快照吗? Query Hint FAST number_rows 改变SQL Server 执行计划 SQL Server 通过界面生成修改列类型脚本时的一个风险(或Bug) 是什么引起执行计划变得极其糟糕? 应该使用更新统计信息来解决它吗? 如何完整的修改一个数据库的名称 update值与原值相同时,SQL Server会真的去update还是忽略呢? How can I bring mirror database online after principal server is down ? performance monitor没有SQL Server性能计数器
发布订阅延迟故障排查案例:分发读进程延迟
nzperfect · 2013-01-09 · via 博客园 - nzperfect

背景:
最近一段时间,有一个发布订阅在晚上总是报延时,由于晚上在copy备份占用带宽,而且晚上没有人使用订阅上的数据,所以也一直没有去看,最近有时间,上去看了下,发现诸多问题,服务器是12GB内存16CPU.

排查步骤及解决办法:
1.查看到当前大量的PAGEIOLATCH_SH等待信息,执行的是分发的读程进命令SQL-sp_MSget_repl_commands,怀疑IO/内存有压力,理论上分发库不大,应该可以全部缓存在内存中:


2.于是查看分发库大小,发现有22GB,再查看表msrepl_commands数据量,居然有4000W,16GB大小:

3.需要再排查一下是发布到分发分发到订阅是哪个出现了延时,结果表明是分发到订阅出现了延时(null代表在指定时间内没有反回数据,也就是数据没有传输到),采用的方法:tracer tokens

4.查看MSdistribution_history表信息,发现每5分钟记录的分发进程中,读取进程reader fetch时间都很大,都在300秒以上,初步判断为从分发到订阅这个步骤中,读出现了延时,写没有延时:

5.由于读进程要从MSrepl_commands中读取,而这个表又特别大,在读取时有PAGEIO*等待,所以怀疑跟这个表有直接关系,于是需要找到这个表为什么会这么大;

6.进一步查找表大的原因,查看分发属性,我们可以看到至少保留为0,那也就是说清除这个表的那个job出现了问题;

7.于是查看job,发现没有这个job,正常这个job名称为:Distribution clean up: distribution,同时发现也缺少job:Agent history clean up: distribution, 猜测可能是被误删除了,接下来从另外一台分发服务器上,生成这两个job的脚本,到这台分发上来执行,注意需要改servername。8.接下来运行job:Distribution clean up: distribution(运行了很长时间),之后再查表MSrepl_commands,大小变成100+.

9.之后再观察上面1中的这些等待没有了、运行上面3已经没有延时,再查看表MSdistribution_history表信息,结果如下,可以看到reader fetch变成了0,问题解决。

10.继续运行两天,发现延时问题没有再出现。

nzperfect 2013.01.09