激情久久久_欧美视频区_成人av免费_不卡视频一二三区_欧美精品在欧美一区二区少妇_欧美一区二区三区的

服務(wù)器之家:專(zhuān)注于服務(wù)器技術(shù)及軟件下載分享
分類(lèi)導(dǎo)航

PHP教程|ASP.NET教程|Java教程|ASP教程|編程技術(shù)|正則表達(dá)式|C/C++|IOS|C#|Swift|Android|VB|R語(yǔ)言|JavaScript|易語(yǔ)言|vb.net|

服務(wù)器之家 - 編程語(yǔ)言 - ASP.NET教程 - Asp.Net 網(wǎng)站優(yōu)化系列之?dāng)?shù)據(jù)庫(kù)優(yōu)化措施 使用主從庫(kù)(全)

Asp.Net 網(wǎng)站優(yōu)化系列之?dāng)?shù)據(jù)庫(kù)優(yōu)化措施 使用主從庫(kù)(全)

2019-09-05 11:26asp.net之家 ASP.NET教程

網(wǎng)站規(guī)模到了一定程度之后,該分的也分了,該優(yōu)化的也做了優(yōu)化,但是還是不能滿(mǎn)足業(yè)務(wù)上對(duì)性能的要求;這時(shí)候我們可以考慮使用主從庫(kù)。

網(wǎng)站規(guī)模到了一定程度之后,該分的也分了,該優(yōu)化的也做了優(yōu)化,但是還是不能滿(mǎn)足業(yè)務(wù)上對(duì)性能的要求;這時(shí)候我們可以考慮使用主從庫(kù)。

主從庫(kù)是兩臺(tái)服務(wù)器上的兩個(gè)數(shù)據(jù)庫(kù),主庫(kù)以最快的速度做增刪改操作+最新數(shù)據(jù)的查詢(xún)操作;從庫(kù)負(fù)責(zé)查詢(xún)較舊數(shù)據(jù),做一些對(duì)實(shí)效性要求較小的分析,報(bào)表生成的工作。這樣做將數(shù)據(jù)庫(kù)的壓力分擔(dān)到兩臺(tái)服務(wù)器上從而保證整個(gè)系統(tǒng)響應(yīng)的及時(shí)性。

SQL Server提供了復(fù)制機(jī)制來(lái)幫我們實(shí)現(xiàn)主從庫(kù)的機(jī)制。我們看下如何在sql server 2005中實(shí)踐:

實(shí)踐前需要新創(chuàng)建一個(gè)Test的數(shù)據(jù)庫(kù),這個(gè)庫(kù)中建一個(gè)測(cè)試表。

1. 打開(kāi)sql server企業(yè)管理器,在對(duì)象資源管理器里面選擇復(fù)制à本地發(fā)布,右鍵選擇新建發(fā)布
 Asp.Net 網(wǎng)站優(yōu)化系列之?dāng)?shù)據(jù)庫(kù)優(yōu)化措施 使用主從庫(kù)(全)

2. 打開(kāi)新建發(fā)布向?qū)Вc(diǎn)下一步,選擇發(fā)布數(shù)據(jù)的數(shù)據(jù)庫(kù)
Asp.Net 網(wǎng)站優(yōu)化系列之?dāng)?shù)據(jù)庫(kù)優(yōu)化措施 使用主從庫(kù)(全)

3. 我們選擇Test數(shù)據(jù)庫(kù),并點(diǎn)擊下一步,選擇發(fā)布類(lèi)型
Asp.Net 網(wǎng)站優(yōu)化系列之?dāng)?shù)據(jù)庫(kù)優(yōu)化措施 使用主從庫(kù)(全)

這里我們選擇的是事務(wù)性發(fā)布,事務(wù)性發(fā)布保證數(shù)據(jù)在做更新之后盡可能快的分發(fā)到訂閱服務(wù)器上。有關(guān)其他幾種發(fā)布類(lèi)型的使用場(chǎng)景請(qǐng)參考msdn
4. 點(diǎn)擊下一步,選擇要發(fā)布的對(duì)象,這里我們只對(duì)表進(jìn)行發(fā)布
 Asp.Net 網(wǎng)站優(yōu)化系列之?dāng)?shù)據(jù)庫(kù)優(yōu)化措施 使用主從庫(kù)(全)
5. 點(diǎn)擊下一步進(jìn)入篩選數(shù)據(jù)設(shè)置,這里我們要復(fù)制表的所有數(shù)據(jù)所以不做設(shè)置
 Asp.Net 網(wǎng)站優(yōu)化系列之?dāng)?shù)據(jù)庫(kù)優(yōu)化措施 使用主從庫(kù)(全)
6. 點(diǎn)擊下一步,指定何時(shí)運(yùn)行快照,我們選擇初始話(huà)數(shù)據(jù),并選擇默認(rèn)的運(yùn)行快照頻率
 Asp.Net 網(wǎng)站優(yōu)化系列之?dāng)?shù)據(jù)庫(kù)優(yōu)化措施 使用主從庫(kù)(全)
7. 繼續(xù)下一步,設(shè)置快照代理的運(yùn)行賬戶(hù),我們選擇sql server agent賬戶(hù)
 Asp.Net 網(wǎng)站優(yōu)化系列之?dāng)?shù)據(jù)庫(kù)優(yōu)化措施 使用主從庫(kù)(全)
8. 點(diǎn)擊下一步選擇創(chuàng)建發(fā)布,再次點(diǎn)擊下一步設(shè)置發(fā)布的名稱(chēng)
 Asp.Net 網(wǎng)站優(yōu)化系列之?dāng)?shù)據(jù)庫(kù)優(yōu)化措施 使用主從庫(kù)(全)
9. 點(diǎn)擊完成,完成發(fā)布的設(shè)置,并創(chuàng)建發(fā)布,現(xiàn)在在本地發(fā)布出新添加了我們創(chuàng)建的發(fā)布
 Asp.Net 網(wǎng)站優(yōu)化系列之?dāng)?shù)據(jù)庫(kù)優(yōu)化措施 使用主從庫(kù)(全)

現(xiàn)在成功創(chuàng)建了發(fā)布,我們還需要?jiǎng)?chuàng)建訂閱:在本地訂閱文件夾上右擊新建訂閱,通過(guò)向?qū)Э梢院苋菀椎膭?chuàng)建訂閱,創(chuàng)建訂閱時(shí)可以選擇以發(fā)布者推送或者訂閱者主動(dòng)的方式創(chuàng)建。具體步驟如下:
1. 通過(guò)右鍵菜單打開(kāi)新建訂閱,點(diǎn)擊下一步,選擇我們剛剛創(chuàng)建的發(fā)布作為訂閱源

Asp.Net 網(wǎng)站優(yōu)化系列之?dāng)?shù)據(jù)庫(kù)優(yōu)化措施 使用主從庫(kù)(全)
2. 選擇是以推送還是以主動(dòng)請(qǐng)求的方式同步數(shù)據(jù),我們選擇主動(dòng)訂閱
 Asp.Net 網(wǎng)站優(yōu)化系列之?dāng)?shù)據(jù)庫(kù)優(yōu)化措施 使用主從庫(kù)(全)
3. 設(shè)置執(zhí)行分發(fā)代理的賬戶(hù)
 Asp.Net 網(wǎng)站優(yōu)化系列之?dāng)?shù)據(jù)庫(kù)優(yōu)化措施 使用主從庫(kù)(全)
4. 設(shè)置代理請(qǐng)求同步的頻率
 Asp.Net 網(wǎng)站優(yōu)化系列之?dāng)?shù)據(jù)庫(kù)優(yōu)化措施 使用主從庫(kù)(全)
5. 設(shè)定是否立即做數(shù)據(jù)的初始化操作
 Asp.Net 網(wǎng)站優(yōu)化系列之?dāng)?shù)據(jù)庫(kù)優(yōu)化措施 使用主從庫(kù)(全)
6. 完成創(chuàng)建訂閱

Asp.Net 網(wǎng)站優(yōu)化系列之?dāng)?shù)據(jù)庫(kù)優(yōu)化措施 使用主從庫(kù)(全)

創(chuàng)建完成之后,我們可以通過(guò)在主庫(kù)表中插入n條數(shù)據(jù),然后在從庫(kù)中查詢(xún)的方式驗(yàn)證復(fù)制是否成功。

在Sql server2005中的復(fù)制創(chuàng)建起來(lái)很簡(jiǎn)單,我們需要根據(jù)業(yè)務(wù)需要設(shè)定復(fù)制的類(lèi)型和同步的頻率,下面我們談?wù)勅绾斡行У脑诔绦蛑惺褂弥鲝膸?kù)。

主從庫(kù)之間是一種發(fā)布訂閱的關(guān)系,發(fā)布者和訂閱者之間并非實(shí)時(shí)同步的,通常會(huì)有幾分鐘的延時(shí),更有甚者會(huì)有幾個(gè)小時(shí)的延時(shí)。所以我們需要通過(guò)合理的使用來(lái)避開(kāi)有延時(shí)這個(gè)問(wèn)題。 

我們希望主庫(kù)盡可能的少參與查詢(xún),來(lái)提高寫(xiě)的及時(shí)性;同時(shí)要讓從庫(kù)在不影響讀出數(shù)據(jù)的準(zhǔn)確及時(shí)的前提下盡可能的分擔(dān)主庫(kù)的壓力。 

主從兩個(gè)庫(kù)需要在配置文件中配置兩個(gè)連接字符串,CONN_Master和CONN_Slave。我們需要設(shè)定一些規(guī)則決定當(dāng)前的查詢(xún)應(yīng)該從主庫(kù)查還是需要從從庫(kù)查。這個(gè)規(guī)則沒(méi)有定式,只能根據(jù)業(yè)務(wù)需要來(lái)確定。下面我舉幾個(gè)例子來(lái)說(shuō)明: 

1. 以豆瓣讀書(shū)書(shū)的詳細(xì)頁(yè)為假定場(chǎng)景,你可以點(diǎn)擊這里看下頁(yè)面的結(jié)構(gòu)(我不是豆瓣的技術(shù),在這里只是拿這個(gè)頁(yè)面舉例) 
我們來(lái)分析呈現(xiàn)這個(gè)頁(yè)面需要的數(shù)據(jù)和這些數(shù)據(jù)的實(shí)效性要求 
1) 書(shū)的詳細(xì)信息 時(shí)效性要求:要求及時(shí) 
2) 豆瓣成員的常用標(biāo)簽 實(shí)效性:不需要很及時(shí) 
3) 喜歡讀這本書(shū)的人也喜歡讀的書(shū) 屬于分析數(shù)據(jù),不需要很及時(shí) 
4) 最新書(shū)評(píng) 要求及時(shí) 
5) 讀這本書(shū)的幾個(gè)用戶(hù) 及時(shí)性不高 
6) 喜歡這本書(shū)的人常去的小組 屬于分析數(shù)據(jù)不需要很及時(shí) 
從上面的分析可以看出只有1),4)兩項(xiàng)數(shù)據(jù)需要從主庫(kù)讀,而2),3),5),6)為非及時(shí)數(shù)據(jù)從從庫(kù)讀取即可。當(dāng)然我們可以對(duì)這些實(shí)效性不高的數(shù)據(jù)做緩存處理。 

2. 以論壇帖子列表頁(yè)面為假定場(chǎng)景,玩論壇的人都喜歡頂貼,把自己的帖子頂?shù)降谝豁?yè)讓更多的人關(guān)注,而對(duì)于50頁(yè)之后的帖子則反讀的人很少;我們可以根據(jù)這個(gè)業(yè)務(wù)邏輯特征來(lái)決定在用戶(hù)訪問(wèn)前50頁(yè)帖子列表數(shù)據(jù)時(shí)從主庫(kù)讀,而當(dāng)用戶(hù)訪問(wèn)超過(guò)50頁(yè)之后的數(shù)據(jù)時(shí)則從從庫(kù)進(jìn)行查詢(xún)。 

3. 以訂單為例,通常超過(guò)三個(gè)月的訂單就不會(huì)再有變化了,假定我們把訂單號(hào)設(shè)計(jì)為日期格式時(shí),根據(jù)訂單號(hào)去查詢(xún)訂單時(shí)就可以根據(jù)訂單號(hào)來(lái)決定該訪問(wèn)主庫(kù)還是從庫(kù)。 

舉了幾個(gè)適用的場(chǎng)景,我們以第三個(gè)場(chǎng)景為例,寫(xiě)一段簡(jiǎn)單的示意代碼看下 

復(fù)制代碼代碼如下:


//orderNo 的格式為 20100528120105000001 即yyyyMMddHHmmss + 序號(hào) 
public OrderInfo GetOrder(string orderNo) { 
string connString = ConnStringGetter.GetForOrder(orderNo); 
using (SqlConnection conn = new SqlConnection(connString)) 

... 



public class ConnStringGetter 

public static string GetForOrder(string orderNo) { 
int year = int.Parse(orderNo.Substring(0,4)); 
int money = int.Parse(orderNo.Substring(4,2)); 
int date = int.Parse(orderNo.Substring(6,2)); 
DateTime orderTime = new DateTime(year, money, date); 

TimeSpan ts = DateTime.Now - orderTime; 
//根據(jù)訂單的時(shí)間決定使用主庫(kù)還是從庫(kù) 
if (ts.TotalDays > 30) return ConfigurationManager.ConnectionStrings["CONN_Slave"].ConnectionString; 
return ConfigurationManager.ConnectionStrings["CONN_Master"].ConnectionString; 



正確的使用主從庫(kù),可以很好的提升系統(tǒng)的性能。使用主庫(kù)還是從庫(kù)的選擇權(quán)決定在業(yè)務(wù)邏輯的手里。

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 亚洲性生活免费视频 | 成人在线97 | 久久人| www日韩在线 | 成码无人av片在线观看网站 | 92看片淫黄大片一级 | 久草成人在线观看 | 美女黄污视频 | 成人免费av在线播放 | 泰剧19禁啪啪无遮挡大尺度 | 黄色大片www | 亚洲综合网站 | 国产噜噜噜噜久久久久久久久 | 亚洲网站在线观看 | 久久91亚洲人成电影网站 | 精品中文字幕视频 | 日韩精品中文字幕一区二区 | 极品国产91在线网站 | 欧美18—19sex性hd按摩 | 第一区免费在线观看 | 欧美日韩大片在线观看 | 国产日韩三区 | 午夜视频福利 | 久久久精品视频网站 | 成年免费在线视频 | av国产免费 | 韩国精品视频在线观看 | 国内久久久久 | 97视频一二区 | 国产九九九九 | 一级国产免费 | 国产精品亚洲精品久久 | jizzjizzjizz少妇| 高清av在线 | 九九热视频这里只有精品 | 欧美成人理论片乱 | 凹凸成人精品亚洲精品密奴 | 在线 日本 制服 中文 欧美 | 午夜视频色 | 一级免费在线视频 | 久久华人 |