210 likes | 423 Views
Transactional Replication – Understanding Latency By Abhay Chaudhary Database Architect (IBM India Pvt.Ltd.) MCTSMCITP : SQL Server 2005 , SQL Server 2008, SQL Server 2008 BI ,MCTS: SQL Server 2008 DB Developer , OCP 9i. Abhay Chaudhary. 9+ years of Database Management experience .
E N D
Transactional Replication – Understanding Latency By Abhay Chaudhary Database Architect (IBM India Pvt.Ltd.) MCTS\MCITP : SQL Server 2005 , SQL Server 2008, SQL Server 2008 BI ,MCTS: SQL Server 2008 DB Developer , OCP 9i
Abhay Chaudhary 9+ years of Database Management experience . Ex- Microsoft PSS (2007-2009). Blogging on SQL Server articles since 2008. Assist SQL Server technical community through various forums.
About SQLServerGeeks.com • One of the fastest growing SQL Server communities • Blogs, Articles, Podcasts, In-person events, webcasts • Millions of page views • People behind SQLServerGeeks: Amit Bansal, Sarabpreet Singh, ParikshitSavjani, Abhay Chaudhary, RaunakJhawar, Ahmed Osama, Amit Karkhanis, VasudevMenon, Ritesh Medhe, Rakesh Mishra, Piyush Bajaj, Rahul Sharma, Satnam Singh, Bhagwan Singh and more ….. • If you want to contribute, email us at admin@SQLServerGeeks.com or visit Join Us section on the website
Agenda Latency Where is the latency ? How much is the latency ? Few questions you need to answer Finding threads involved in latency –option 1 Finding threads involved in latency –option 2 (prefer) Reasons for Log Reader-Reader thread latency Reasons for Log Reader-writer thread latency Reasons for Dist Agent-Reader thread latency Reasons for Dist Agent-Writer thread latency References
Latency • Slowness of transaction delivery by either Log reader agent or Distribution agent or both . • For log reader agent its slowness in picking up the transactions that are marked for replication in Publisher log. • For Distribution agent it’s the slowness in picking up the transactions from the distribution database .
Where is the latency ? If all the subscriptions of one publisher are affected then the latency is from publisher to distributor . If a few subscriptions of one publisher are affected then the latency is from distributor to subscriber .
How much is the latency ? Query MSLogreader_history and MSDistribution_history system table in Distribution agents. Example : select * from MSlogreader_history where order by time desc select * from MSdistribution_history where order by time desc What's next ?
Few questions you need to answer Is the latency in reading the publisher log ? Is the latency in writing the data to the distributor ? Is the latency reading the data from distributor database ? Is the latency in writing the data to the subscriber tables ?
Finding threads involved in latency –option 1 Check the latest comments section of MSlogreader_history and MSdistribution_history tables in distribution DB. Log reader Check the latest comments section of MSDistribution_history and MSdistribution_history tables in distribution DB. Distribution agent State 1 = Normal State 2 = Reader Thread waits for Writer Thread State 3 = Writer thread waits for Reader thread
Finding threads involved in latency –option 2 Stop the Distributor agent and check the job history .
Finding threads involved in latency –option 2 …… Stop the Distributor agent and check the job history .
Reasons for Log Reader -Reader thread latency • Most common reasons are : • Big T-log size due to maintenance . Very likely • large Batch(s) of replicated transactions . Very likely • Storage latency (Slow Read IO) • High CPU \IO or load on the Server in due course of time .likely
Reasons for Log Reader –Writer thread latency • Most common reasons are : • Blocking on MSRepl_Transactions and MSRepl_Commands tables. • High IO\CPU load on the Dist server .likely • No \less maintenance on MSRepl_Transactions and MSRepl_Commands tables. Very likely • Storage Latency (Slow writes) • Network Latency likely
Reasons for Dist Agent -Reader thread latency • Most common reasons are : • Large Batch of transactions Very likely • Lack of maintenance (Fragmentation and stale stats ) Very likely • Keeping the publication snapshots likely • Long execution of cleanup job causing latency likely • Slow Storage (Read latency )
Reasons for Dist Agent –Writer thread latency • Most common reasons are : • Resource consuming queries running already Very likely • Lack of maintenance Very likely • Network issues • Storage issues • Too many indexes Very likely • Blocking Very likely • High CPU Very likely
References How Transactional Replication Works http://msdn.microsoft.com/en-us/library/ms151706.aspx Physical Architecture (Replication) http://msdn.microsoft.com/en-us/library/bb500345.aspx Transactional Replication Overview http://msdn.microsoft.com/en-us/library/ms151176.aspx sp_replcmds (Transact-SQL) http://msdn.microsoft.com/en-us/library/ms186983.aspx sp_repldone (Transact-SQL) http://msdn.microsoft.com/en-us/library/ms173775.aspx Solution Design Considerations (Replication) http://msdn.microsoft.com/en-us/library/ms152508.aspx Designing and Implementing (Replication) http://msdn.microsoft.com/en-us/library/ms151847.aspx Replication Agents Overview http://msdn.microsoft.com/en-us/library/ms152501.aspx
Connect with Abhay Chaudhary https://www.facebook.com/1978abhay
What’s next Resolving Latency issues
Continue your learning… Be a member - www.SQLServerGeeks.com www.FaceBook.com/SQLServerGeeks Twitter @SQLServerGeeks Presentation & Scripts uploaded on www.SQLServerGeeks.com/files
Thank you for suggestions, please email at admin@SQLServerGeeks.com