欧美三区_成人在线免费观看视频_欧美极品少妇xxxxⅹ免费视频_a级毛片免费播放_鲁一鲁中文字幕久久_亚洲一级特黄

Replication的犄角旮旯(七)-- 一個DDL引發(fā)的

系統(tǒng) 2169 0
原文: Replication的犄角旮旯(七)-- 一個DDL引發(fā)的血案(下)(聊聊logreader的延遲)

?

?

《Replication的犄角旮旯》系列導讀

Replication的犄角旮旯(一)--變更訂閱端表名的應用場景

Replication的犄角旮旯(二)--尋找訂閱端丟失的記錄

Replication的犄角旮旯(三)--聊聊@bitmap

Replication的犄角旮旯(四)--關(guān)于事務復制的監(jiān)控

Replication的犄角旮旯(五)--關(guān)于復制identity列

Replication的犄角旮旯(六)-- 一個DDL引發(fā)的血案(上)(如何近似估算DDL操作進度)

Replication的犄角旮旯(七)-- 一個DDL引發(fā)的血案(下)(聊聊logreader的延遲)

Replication的犄角旮旯(八)-- 訂閱與發(fā)布異構(gòu)的問題

Replication的犄角旮旯(九)-- sp_setsubscriptionxactseqno,賦予訂閱活力的工具

---------------------------------------華麗麗的分割線--------------------------------------------

?

前言:這是昨天剛剛發(fā)生的案例,盡管事件的起因只是一個簡單的DDL操作,但影響面和影響時間可以說是大大超出了預期;我們將在描述本案例的前因后果之后,聊聊如何近似估算DDL的操作進度,以及關(guān)于logreader延遲的問題;

前一篇文章《Replication的犄角旮旯(六)-- 一個DDL引發(fā)的血案(上)(如何近似估算DDL操作進度)》

http://www.cnblogs.com/diabloxl/p/3844205.html

前因簡述:

一個復制節(jié)點(即使上級的訂閱,又是下級的分發(fā))需要對一個表進行DDL操作,由于需要修改主鍵,因此將這個表從publication中刪除,然后就開始了漫長的DDL操作……

本來需要進行DDL操作的表已經(jīng)從replication中摘除了,以為不會影響到其他article的復制,結(jié)果慘劇還是發(fā)生了,原因依舊是VLF對logreader的影響,但這次的問題和以往又有些不同……

?

=====================華麗麗的分割線=====================

先說說之前遇到的logreader延遲的情況:

1、發(fā)布表的寫操作

  這里又分為兩種情況

  a)大量并發(fā)寫操作:指大量的小DML操作,特點是事務小、并發(fā)多

  b)大事務寫操作:指有單個大事務操作,特點是事務大、并發(fā)少

2、非發(fā)布表的寫操作

  指有寫操作的表并不是需要復制的表,這里將上述a\b兩種情況合并在一起說,這次遇到的是b這個類型;

?

檢查logreader的延遲的利器——sp_replcounters

MSDN上關(guān)于這個存儲過程的解釋:

http://msdn.microsoft.com/zh-cn/LIBRARY/ms190486

無論對于上述哪種情況,如果 Replicated transactions 持續(xù)增加,那就是logreader延遲了,初步的現(xiàn)象就是這個發(fā)布下所有的訂閱都在延遲;

那上述3種情況的差異呢?

  對于1a)?

Replicated transactions 快速增加,replbiginlsn和replnextlsn都會較慢速度的變化;(這里的慢速是相對與正常速度而言,受實際業(yè)務環(huán)境影響,下同)

  這是由于大量的小DML操作都會快速的提交,但由于大量的日志寫入,導致存在大量的活動VLF,因而日志不能被截斷;同時,盡管logreader根據(jù)replnextlsn去定位下一個要復制的lsn,但由于效率下降,且后面涌入的新事務也在增長,導致惡性循環(huán),從而引起logreader的延遲;

  對于1b)

Replicated transactions 慢速 增加,replbiginlsn不變、replnextlsn不變;

  雖然事務并發(fā)量很小,但由于單個提交的事務很大,仍然導致大量的活動VLF,從而引起logreader效率下降;

  對于2

Replicated transactions 快速增加,replbiginlsn不變、replnextlsn慢速變化;

  由于非復制的表也需要寫日志,且占用了大量VLF,因此logreader需要從大量的VLF中獲取需要復制的日志信息,這也同樣影響到它的執(zhí)行效率;

?

那我們該如何應對呢?

  硬件當然是最有效的手段之一,升級內(nèi)存、磁盤換成IO卡等可以解決根本問題,但這又不是絕對,一個SQL跑死服務器的情況也絕非不可能;

  1、對于1a的情況,建議有頻繁寫操作的表,還是能分就分,或者分到多個庫中,或者分到多個實例下,原則就是不要讓logreader干太多活,畢竟的是個單線程的任務,穿少了也cool,喝多了也吐。

  2、對于1b的情況,本身單個大事務就不是OLTP環(huán)境中提倡的,不光是復制延遲,光一堆鎖估計機器也受不了;建議拆成多個事務來跑;

  3、對于2來說,盡管要搞的表和復制沒有任何關(guān)系,但不能忽略VLF對logreader的影響,既然在一個庫中,公用日志序列,還是小心為妙;如果是大表的DDL的操作,還是通過停寫、建新表、導數(shù)據(jù)的方法實現(xiàn),bulk insert的方式或許是對日志影響最小的;

  但bulk insert的方式一般要求停寫,而受業(yè)務的制約,可能不允許長時間的停寫,這該怎么破?

  可以看看我之前的文章《 Replication的犄角旮旯(一)--變更訂閱端表名的應用場景 》,復制回路可以說是為這種需求量身定做的~

?

Replication的犄角旮旯(七)-- 一個DDL引發(fā)的血案(下)(聊聊logreader的延遲)


更多文章、技術(shù)交流、商務合作、聯(lián)系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯(lián)系: 360901061

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對您有幫助就好】

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長會非常 感謝您的哦!!!

發(fā)表我的評論
最新評論 總共0條評論
主站蜘蛛池模板: 国产网址在线 | 精品久| av在线免费观看播放 | 欧美综合国产精品久久丁香 | 美女久久久久久久久久久 | 偶像练习生在线免费观看 | 午夜寂寞影院在线观看 | 日韩国产一区二区三区 | 天堂福利电影 | 亚洲美女亚洲精品久久久久 | 亚洲欧美天堂综合久久 | free-porn-ok.com| 国产欧美日韩亚洲精品区2345 | 五月婷婷在线播放 | 国产精品视频观看 | 欧美综合激情网 | 久草新在线 | 久操视频网 | 波多野结衣全集在线观看 | 色色噜一噜 | 欧美日韩一区二区三在线 | 久久久久久久国产视频 | 欧美精品在线观看 | 777奇米视频 | 日韩欧美在线观看 | 欧美精品二区三区 | 亚洲毛片在线观看 | 999久久久国产精品 成人不卡视频 | 色吧综合 | 美女求操 | 日本黄色大片免费看 | 亚洲一区二区三区高清网 | 久草免费在线视频 | 日韩福利在线 | 91在线观看 | 久久综合九色 | 91视频链接 | 欧美高清性色生活片免费观看 | 国产精品不卡视频 | 福利视频中文在线观看 | 国产乱人乱精一区二区视频密 |