日韩无码专区无码一级三级片|91人人爱网站中日韩无码电影|厨房大战丰满熟妇|AV高清无码在线免费观看|另类AV日韩少妇熟女|中文日本大黄一级黄色片|色情在线视频免费|亚洲成人特黄a片|黄片wwwav色图欧美|欧亚乱色一区二区三区

RELATEED CONSULTING
相關(guān)咨詢(xún)
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時(shí)間:8:30-17:00
你可能遇到了下面的問(wèn)題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營(yíng)銷(xiāo)解決方案
ASP.NET性能優(yōu)化之負(fù)載均衡

1:HTTP重定向

創(chuàng)新互聯(lián)建站成都網(wǎng)站建設(shè)按需求定制設(shè)計(jì),是成都營(yíng)銷(xiāo)推廣公司,為石涼亭提供網(wǎng)站建設(shè)服務(wù),有成熟的網(wǎng)站定制合作流程,提供網(wǎng)站定制設(shè)計(jì)服務(wù):原型圖制作、網(wǎng)站創(chuàng)意設(shè)計(jì)、前端HTML5制作、后臺(tái)程序開(kāi)發(fā)等。成都網(wǎng)站營(yíng)銷(xiāo)推廣熱線:18982081108

所謂HTTP重定向,就是通過(guò)修改HTTP響應(yīng)頭中的Location標(biāo)識(shí)為新的URL,然后返回給客戶(hù)端,讓客戶(hù)端重新根據(jù)這個(gè)Location標(biāo)識(shí)的URL去做新的請(qǐng)求。

這是一種最簡(jiǎn)單、也是最輕量級(jí)的負(fù)載均衡實(shí)現(xiàn)方案,使用asp.net,我們可以這樣來(lái)實(shí)現(xiàn),比如在主站www.yourdomain.com中,我們?cè)谀J(rèn)主頁(yè)如下編碼:

 
 
 
 
  1. static string[] servers =  
  2. {  
  3. "http://192.168.0.77/luminji2/aspx/test3.aspx",  
  4. "http://192.168.0.77/luminji2/aspx/test4.aspx" 
  5. };  
  6. protected void Page_Load(object sender, EventArgs e)  
  7. {  
  8. Response.Redirect(servers[DateTime.Now.Millisecond % 2]);  
  9. }  

在上面的代碼中,Response.Redirect實(shí)際為http頭返回狀態(tài)碼302,這是為了告訴瀏覽器,請(qǐng)到Location中去拿URL,并且去到這個(gè)新的URL去做請(qǐng)求。當(dāng)然,我們也可以采用最原始的方法來(lái)代替Redirect方法:

 
 
 
 
  1. Response.Status = "302 Found";  
  2. Response.StatusCode = 302;  
  3. Response.AddHeader("Location", servers[DateTime.Now.Millisecond % 2]);  

使用HttpWatch監(jiān)視,我們對(duì)www.yourdomain.com請(qǐng)求,得到:

可以清晰的看到第一次請(qǐng)求返回的302,然后轉(zhuǎn)發(fā)到新的地址,得到狀態(tài)碼200。

以上方法是在客戶(hù)端的重定向,即瀏覽器請(qǐng)求了兩次,一次是到主服務(wù)器,第二次是到Location中指定的服務(wù)器上去請(qǐng)求。

HTTP重定向的方式非常依賴(lài)于主站的處理能力,它的性能瓶頸也是來(lái)自于IIS對(duì)于接受請(qǐng)求->asp.net處理首頁(yè)動(dòng)態(tài)程序->返回帶有特定頭請(qǐng)求,是的,它不能突破自身的性能瓶頸,比如,在我的破測(cè)試機(jī)上,我得到的吞吐率為:

好在IIS自身已經(jīng)支持重定向(查閱http://technet.microsoft.com/zh-cn/library/cc732969(WS.10).aspx),這更進(jìn)一步省略了我們自己寫(xiě)代碼實(shí)現(xiàn)重定向,省略運(yùn)行ASP.NET代碼帶來(lái)的性能損耗。

2:varnish實(shí)現(xiàn)的反向代理負(fù)載均衡

另外一種思路是使用反向代理服務(wù)器的負(fù)載均衡功能,上篇當(dāng)中介紹的varnish就支持這樣的功能,查看配置文件:

 
 
 
 
  1. backend web1 {  
  2. .host = "192.168.0.77";  
  3. .port = "8081";  
  4. }  
  5. backend web2 {  
  6. .host = "192.168.0.77";  
  7. .port = "8082";  
  8. }  
  9. director lb round-robin {  
  10. {  
  11. .backend = web1;  
  12. }  
  13. {  
  14. .backend = web2;  
  15. }  
  16. }  
  17. sub vcl_recv {  
  18. set req.backend = lb;  
  19. return (pass);  
  20. }  

在該配置文件中,我們部署了兩臺(tái)WEB服務(wù)器,當(dāng)然,為了簡(jiǎn)單期間,我這里是使用了同一臺(tái)服務(wù)器的兩個(gè)端口。在vcl_recv函數(shù)中,varnish定義了負(fù)載均衡。

運(yùn)行varnish之,我們會(huì)發(fā)現(xiàn)請(qǐng)求被轉(zhuǎn)發(fā)到后臺(tái)服務(wù)器了。

3:其它方案

1:DNS負(fù)載均衡,通過(guò)增加域名A記錄來(lái)讓DNS服務(wù)器實(shí)現(xiàn)負(fù)載均衡。好處是幾乎不會(huì)碰到性能問(wèn)題。缺點(diǎn):要求每個(gè)WEB服務(wù)器必須有外網(wǎng)地址。一旦某臺(tái)服務(wù)器崩潰,不能及時(shí)讓DNS修改生效。不能定義自己的轉(zhuǎn)發(fā)策略;

2:IP負(fù)載均衡,有LVS-NAT,采用iptables,對(duì)LINUX內(nèi)核操作,性能相對(duì)于反向代理服務(wù)器并沒(méi)有質(zhì)的飛躍;IP負(fù)載均衡仍舊需要轉(zhuǎn)發(fā)請(qǐng)求給實(shí)際服務(wù)器,同時(shí)需要轉(zhuǎn)發(fā)實(shí)際服務(wù)器的響應(yīng)給用戶(hù),所以,它的性能瓶頸來(lái)自于NAT服務(wù)器的性能及網(wǎng)絡(luò)帶寬;

3:直接路由,有LVS-DR,工作在數(shù)據(jù)鏈路層(第二層),要求所有WEB服務(wù)器接入外網(wǎng);負(fù)載均衡器負(fù)責(zé)轉(zhuǎn)發(fā)請(qǐng)求給實(shí)際服務(wù)器,但是它通過(guò)修改數(shù)據(jù)包中的MAC地址,能夠做到讓實(shí)際服務(wù)器的響應(yīng)直接返回給用戶(hù),而不用通過(guò)負(fù)載均衡器,這當(dāng)然進(jìn)一步提升了負(fù)載均衡的效率;

4:IP隧道,有LVS-TUN,用于不同機(jī)房(即不同Wan 網(wǎng)段)的負(fù)載均衡,原理同LVS-DR;

原文地址:http://www.cnblogs.com/luminji/archive/2012/05/16/2184280.html


網(wǎng)站名稱(chēng):ASP.NET性能優(yōu)化之負(fù)載均衡
網(wǎng)站地址:http://www.5511xx.com/article/dhpopdi.html