成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

ASP.NET性能優化之負載均衡

開發 后端
今天談到的ASP.NET性能優化主要涉及到負載均衡方面,希望對大家有所幫助。

1:HTTP重定向

所謂HTTP重定向,就是通過修改HTTP響應頭中的Location標識為新的URL,然后返回給客戶端,讓客戶端重新根據這個Location標識的URL去做新的請求。

這是一種最簡單、也是最輕量級的負載均衡實現方案,使用asp.net,我們可以這樣來實現,比如在主站www.yourdomain.com中,我們在默認主頁如下編碼:

  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實際為http頭返回狀態碼302,這是為了告訴瀏覽器,請到Location中去拿URL,并且去到這個新的URL去做請求。當然,我們也可以采用最原始的方法來代替Redirect方法:

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

使用HttpWatch監視,我們對www.yourdomain.com請求,得到:

image

可以清晰的看到第一次請求返回的302,然后轉發到新的地址,得到狀態碼200。

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

HTTP重定向的方式非常依賴于主站的處理能力,它的性能瓶頸也是來自于IIS對于接受請求->asp.net處理首頁動態程序->返回帶有特定頭請求,是的,它不能突破自身的性能瓶頸,比如,在我的破測試機上,我得到的吞吐率為:

image

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

2:varnish實現的反向代理負載均衡

另外一種思路是使用反向代理服務器的負載均衡功能,上篇當中介紹的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. }  

在該配置文件中,我們部署了兩臺WEB服務器,當然,為了簡單期間,我這里是使用了同一臺服務器的兩個端口。在vcl_recv函數中,varnish定義了負載均衡。

運行varnish之,我們會發現請求被轉發到后臺服務器了。

3:其它方案

1:DNS負載均衡,通過增加域名A記錄來讓DNS服務器實現負載均衡。好處是幾乎不會碰到性能問題。缺點:要求每個WEB服務器必須有外網地址。一旦某臺服務器崩潰,不能及時讓DNS修改生效。不能定義自己的轉發策略;

2:IP負載均衡,有LVS-NAT,采用iptables,對LINUX內核操作,性能相對于反向代理服務器并沒有質的飛躍;IP負載均衡仍舊需要轉發請求給實際服務器,同時需要轉發實際服務器的響應給用戶,所以,它的性能瓶頸來自于NAT服務器的性能及網絡帶寬;

3:直接路由,有LVS-DR,工作在數據鏈路層(第二層),要求所有WEB服務器接入外網;負載均衡器負責轉發請求給實際服務器,但是它通過修改數據包中的MAC地址,能夠做到讓實際服務器的響應直接返回給用戶,而不用通過負載均衡器,這當然進一步提升了負載均衡的效率;

4:IP隧道,有LVS-TUN,用于不同機房(即不同WAN網段)的負載均衡,原理同LVS-DR;

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

【編輯推薦】

 

責任編輯:彭凡 來源: 博客園
相關推薦

2010-05-06 13:41:42

ASP.NET負載均衡

2009-08-13 16:22:18

ASP.NET性能優化

2009-08-13 15:49:18

ASP.NET性能優化

2011-10-19 09:41:15

ASP.NET性能優化

2010-05-06 13:33:47

Asp.Net負載均衡

2011-10-17 09:54:18

ASP.NET性能

2024-06-11 09:00:00

異步編程代碼

2011-02-13 09:37:55

ASP.NET

2009-02-23 15:55:29

ASP.NET.NET性能提升

2011-02-22 09:16:24

高性能ASP.NET

2009-07-28 17:17:19

ASP.NET概述

2011-09-08 13:56:41

ASP.NET性能

2011-02-17 09:13:57

ASP.NET

2011-07-06 08:46:30

2021-05-19 08:04:11

ASP.Net服務性原則

2011-06-28 15:14:10

ASP.NET性能優化

2018-02-23 13:55:16

ASP.NET性能優化技巧

2024-12-05 08:14:41

2011-02-13 09:17:02

ASP.NET

2009-08-10 13:32:15

ASP.NET TimASP.NET組件設計
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 欧美黄色一区 | 亚洲精品久久久久久国产精华液 | 欧美日韩国产一区 | 久久精品国产亚洲夜色av网站 | 久久黄色网 | 亚洲美女一区 | 综合一区二区三区 | 亚洲精品乱码久久久久久9色 | 自拍偷拍中文字幕 | 精品欧美一区二区久久久伦 | 亚洲欧美精品 | 国产又爽又黄的视频 | 欧美日韩综合视频 | 色婷婷在线视频 | 国产精品有限公司 | 日韩欧美在线观看 | 婷婷激情综合 | 成人在线小视频 | 亚洲日产精品 | 亚洲一区二区三区在线免费 | 国产区在线观看 | 日本激情一区二区 | 国产一区二区免费 | 一区欧美 | 久久久精品日本 | 自拍视频网站 | 精品日韩在线 | 福利一区二区 | 精品在线观看一区二区 | 精品一级| 成人亚洲综合 | 国产视频精品免费 | 国产成人网 | 欧美激情五月 | 黑人久久久 | 亚洲福利网 | 日本三级电影免费观看 | 久久久久久九九九九 | 国产精品资源在线 | 日韩视频中文字幕 | 国产在线a视频 |