程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> 其他數據庫知識 >> 更多數據庫知識 >> 數據庫復制性能測試 推送模式性能測試

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

編輯:更多數據庫知識

數據庫復制就是由兩台服務器,主服務器和備份服務器,主服務器修改後,備份服務器自動修改,在以前的文章中已經做了詳細的說明,這裡就不在重復,具體請參見

http://www.jb51.net/article/30661.htm

使用了數據庫復制的人,首先擔心的就是主服務器和備份服務器的性能消耗問題,本人也是對此十分擔憂,查了半天,基本上沒發現類似的測試說明,就自己測試了一下,下面為測試的結果,僅供參考
我采用的是數據庫推送的復制模式,下面測試頁是基於此模式
因為數據庫復制主要是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 查看,就會發現基本上消耗就會很少了

如果你的服務器復制模式為訂閱模式,那麼你去--代理配置文件---》分發代理--裡面去修改你的訂閱時間即可
作者: cnblogs 習 慣

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved