數(shù)據(jù)庫復(fù)制性能測試 推送模式性能測試
更新時間:2012年06月26日 19:51:19 作者:
使用了數(shù)據(jù)庫復(fù)制的人,首先擔(dān)心的就是主服務(wù)器和備份服務(wù)器的性能消耗問題,本人也是對此十分擔(dān)憂,查了半天,基本上沒發(fā)現(xiàn)類似的測試說明,就自己測試了一下,下面為測試的結(jié)果,僅供參考
數(shù)據(jù)庫復(fù)制就是由兩臺服務(wù)器,主服務(wù)器和備份服務(wù)器,主服務(wù)器修改后,備份服務(wù)器自動修改,在以前的文章中已經(jīng)做了詳細(xì)的說明,這里就不在重復(fù),具體請參見
http://www.dbjr.com.cn/article/30661.htm
使用了數(shù)據(jù)庫復(fù)制的人,首先擔(dān)心的就是主服務(wù)器和備份服務(wù)器的性能消耗問題,本人也是對此十分擔(dān)憂,查了半天,基本上沒發(fā)現(xiàn)類似的測試說明,就自己測試了一下,下面為測試的結(jié)果,僅供參考
我采用的是數(shù)據(jù)庫推送的復(fù)制模式,下面測試頁是基于此模式
因為數(shù)據(jù)庫復(fù)制主要是I/O操作,所以在此測試主要測試服務(wù)器的硬盤讀寫操作,此次測試主要監(jiān)控的對象為
avg. disk queue length(下文簡稱為dql) 簡單可以理解成磁盤數(shù)據(jù)吞吐量的外在體現(xiàn)。通俗的將就是曲線上隨便取兩個不同的點,高的一點說明正在的進(jìn)行讀寫操作的量比較大,反之,比較小。
第一種情況:1秒鐘寫入一次數(shù)據(jù),一次數(shù)據(jù)寫入三個表,循環(huán)寫入10000條
過程:關(guān)閉復(fù)制,單純的寫入,dql平均值最大值為:0.126
開啟復(fù)制,同步性的寫入 , dql平均值最大值為 :0.132
結(jié)論:鑒于這種比例,1秒鐘一次是這種小數(shù)據(jù)庫的寫入,同步問題,我們可以完全忽略了
第二種情況:忽略等待時間,一次數(shù)據(jù)寫入三個表,死循環(huán)寫入10000 次數(shù)據(jù)
過程 :關(guān)閉復(fù)制,單純的寫入,第一次測試:dql平均值最大值為:3.05-3.08 第二次測試:2.2-2.30
開啟復(fù)制,同步性的寫入 , dql平均值最大值為 :3.06-3.10 第二次測試: 2.2-2.34
結(jié)論:可以由于兩次測試間隔時間比較長,機器的情況不一致,但是結(jié)果很明顯,都是相差不大
第三鐘情況:關(guān)閉復(fù)制,主服務(wù)器寫入 10000 次數(shù)據(jù) ,每次寫三個表,然后開啟服務(wù)器,主服務(wù)器的 dql基本沒變化,因為是復(fù)制服務(wù)器寫數(shù)據(jù),和主服務(wù)器關(guān)聯(lián)性不大
就上述情況來看,復(fù)制基本上不會影響主服務(wù)器的性能消耗,但是,我們通過監(jiān)控SQL Server Profiler 會發(fā)現(xiàn),出現(xiàn)大量的復(fù)制監(jiān)視器,這種復(fù)制監(jiān)視器,會非常消耗服務(wù)器的性能,造成服務(wù)器緩慢,因為是推送模式,所以主服務(wù)器要時刻監(jiān)控自己的變化情況,而造成性能消耗,如下圖
http://www.dbjr.com.cn/article/30661.htm
使用了數(shù)據(jù)庫復(fù)制的人,首先擔(dān)心的就是主服務(wù)器和備份服務(wù)器的性能消耗問題,本人也是對此十分擔(dān)憂,查了半天,基本上沒發(fā)現(xiàn)類似的測試說明,就自己測試了一下,下面為測試的結(jié)果,僅供參考
我采用的是數(shù)據(jù)庫推送的復(fù)制模式,下面測試頁是基于此模式
因為數(shù)據(jù)庫復(fù)制主要是I/O操作,所以在此測試主要測試服務(wù)器的硬盤讀寫操作,此次測試主要監(jiān)控的對象為
avg. disk queue length(下文簡稱為dql) 簡單可以理解成磁盤數(shù)據(jù)吞吐量的外在體現(xiàn)。通俗的將就是曲線上隨便取兩個不同的點,高的一點說明正在的進(jìn)行讀寫操作的量比較大,反之,比較小。
第一種情況:1秒鐘寫入一次數(shù)據(jù),一次數(shù)據(jù)寫入三個表,循環(huán)寫入10000條
過程:關(guān)閉復(fù)制,單純的寫入,dql平均值最大值為:0.126
開啟復(fù)制,同步性的寫入 , dql平均值最大值為 :0.132
結(jié)論:鑒于這種比例,1秒鐘一次是這種小數(shù)據(jù)庫的寫入,同步問題,我們可以完全忽略了
第二種情況:忽略等待時間,一次數(shù)據(jù)寫入三個表,死循環(huán)寫入10000 次數(shù)據(jù)
過程 :關(guān)閉復(fù)制,單純的寫入,第一次測試:dql平均值最大值為:3.05-3.08 第二次測試:2.2-2.30
開啟復(fù)制,同步性的寫入 , dql平均值最大值為 :3.06-3.10 第二次測試: 2.2-2.34
結(jié)論:可以由于兩次測試間隔時間比較長,機器的情況不一致,但是結(jié)果很明顯,都是相差不大
第三鐘情況:關(guān)閉復(fù)制,主服務(wù)器寫入 10000 次數(shù)據(jù) ,每次寫三個表,然后開啟服務(wù)器,主服務(wù)器的 dql基本沒變化,因為是復(fù)制服務(wù)器寫數(shù)據(jù),和主服務(wù)器關(guān)聯(lián)性不大
就上述情況來看,復(fù)制基本上不會影響主服務(wù)器的性能消耗,但是,我們通過監(jiān)控SQL Server Profiler 會發(fā)現(xiàn),出現(xiàn)大量的復(fù)制監(jiān)視器,這種復(fù)制監(jiān)視器,會非常消耗服務(wù)器的性能,造成服務(wù)器緩慢,因為是推送模式,所以主服務(wù)器要時刻監(jiān)控自己的變化情況,而造成性能消耗,如下圖
如何解決這個問題呢?我們首先會想到,減少主服務(wù)器的監(jiān)視頻率即可,打開復(fù)制監(jiān)視器,
右鍵--》發(fā)布服務(wù)器屬性設(shè)置,修改一下刷新速度,一般我們可以接受的是范圍是30-60秒的延遲
修改后,我們在去SQL Server Profiler 查看,就會發(fā)現(xiàn)基本上消耗就會很少了
如果你的服務(wù)器復(fù)制模式為訂閱模式,那么你去--代理配置文件---》分發(fā)代理--里面去修改你的訂閱時間即可
作者: cnblogs 習(xí) 慣
作者: cnblogs 習(xí) 慣
相關(guān)文章
sqlserver 無法驗證產(chǎn)品密匙的完美解決方案[測試通過]
Win2003 SQL2000時CD-KEY(序列號)無法驗證的問題的解決方法2009-07-07Spark SQL 2.4.8 操作 Dataframe的兩種方式
這篇文章主要介紹了Spark SQL 2.4.8 操作 Dataframe的兩種方式,方式一是通過dsl操作,方式二是利用sql方式操作,每種方式通過實例代碼給大家介紹的非常詳細(xì),需要的朋友可以參考下2021-10-10實例理解SQL中truncate和delete的區(qū)別
這篇文章主要介紹了實例理解SQL中truncate和delete的區(qū)別,truncate和delete兩者易混,本文就為大家進(jìn)行區(qū)分兩者的異同,感興趣的小伙伴們可以參考一下2016-02-02