數據庫復制性能測試,推送模式性能測試


    數據庫復制就是由兩台服務器,主服務器和備份服務器,主服務器修改后,備份服務器自動修改,在以前的文章中已經做了詳細的說明,這里就不在重復,具體請參見  http://www.cnblogs.com/AK2012/archive/2012/06/19/2012-0619.html

 

     使用了數據庫復制的人,首先擔心的就是主服務器和備份服務器的性能消耗問題,本人也是對此十分擔憂,查了半天,基本上沒發現類似的測試說明,就自己測試了一下,下面為測試的結果,僅供參考

       我采用的是數據庫推送的復制模式,下面測試頁是基於此模式

             因為數據庫復制主要是I/O操作,所以在此測試主要測試服務器的硬盤讀寫操作,此次測試主要監控的對象為

              avg. disk queue length(下文簡稱為dql) 簡單可以理解成磁盤數據吞吐量的外在體現。通俗的將就是曲線上隨便取兩個不同的點,高的一點說明正在的進行讀寫操作的量比較大,反之,比較小。

 
    第一種情況:1秒鍾寫入一次數據,一次數據寫入三個表,循環寫入10000條
 
         過程:關閉復制,單純的寫入,dql平均值最大值為:0.126  
         開啟復制,同步性的寫入 ,   dql平均值最大值為  :0.132 
         結論:鑒於這種比例,1秒鍾一次是這種小數據庫的寫入,同步問題,我們可以完全忽略了
 
 
    第二種情況:忽略等待時間, 一次數據寫入三個表,死循環寫入10000 次數據
 
            過程  :關閉復制,單純的寫入,第一次測試:dql平均值最大值為: 3.05- 3.08 第二次測試:2.2-2.30
           開啟復制,同步性的寫入 ,  dql平均值最大值為  :3.06-3.10      第二次測試:    2.2-2.34
           結論:可以由於兩次測試間隔時間比較長,機器的情況不一致,但是結果很明顯,都是相差不大

 

    第三鍾情況:關閉復制,主服務器寫入  10000 次數據 ,每次寫三個表,然后開啟服務器,主服務器的 dql基本沒變化,因為是復制服務器寫數據,和主服務器關聯性不大
 
 
 
      就上述情況來看,復制基本上不會影響主服務器的性能消耗,但是,我們通過監控SQL Server Profiler 會發現,出現大量的復制監視器,這種復制監視器,會非常消耗服務器的性能,造成服務器緩慢,因為是推送模式,所以主服務器要時刻監控自己的變化情況,而造成性能消耗,如下圖
 

 
 
      如何解決這個問題呢?我們首先會想到,減少主服務器的監視頻率即可,打開復制監視器,

右鍵--》發布服務器屬性設置,修改一下刷新速度,一般我們可以接受的是范圍是30-60秒的延遲
 
 

 

 
     修改后,我們在去 SQL Server Profiler  查看,就會發現基本上消耗就會很少了
 
 
如果你的服務器復制模式為訂閱模式,那么你去--代理配置文件---》分發代理--里面去修改你的訂閱時間即可
 
 
以上純屬個人觀點,轉載請注明出處
 
 
                                                                                                                   --------------AK:2012-06-26
 
 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM