国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 開發 > CSS > 正文

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

2024-07-11 08:25:59
字體:
來源:轉載
供稿:網友
HTTP重定向
所謂HTTP重定向,就是通過修改HTTP響應頭中的Location標識為新的URL,然后返回給客戶端,讓客戶端重新根據這個Location標識的URL去做新的請求。
這是一種最簡單、也是最輕量級的負載均衡實現方案,使用asp.net,我們可以這樣來實現,比如在主站www.yourdomain.com中,我們在默認主頁如下編碼:
static string[] servers = 
        {
            "http://192.168.0.77/luminji2/aspx/test3.aspx",
            "http://192.168.0.77/luminji2/aspx/test4.aspx"
        };
protected void Page_Load(object sender, EventArgs e)
{
    Response.Redirect(servers[DateTime.Now.Millisecond % 2]);
}
在上面的代碼中,Response.Redirect實際為http頭返回狀態碼302,這是為了告訴瀏覽器,請到Location中去拿URL,并且去到這個新的URL去做請求。當然,我們也可以采用最原始的方法來代替Redirect方法:
Response.Status = "302 Found";
Response.StatusCode = 302;
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就支持這樣的功能,查看配置文件:
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 锡林浩特市| 麻城市| 石家庄市| 汕头市| 阿图什市| 登封市| 永嘉县| 博野县| 贺兰县| 阿拉善左旗| 许昌市| 广宁县| 会东县| 广东省| 临猗县| 洪雅县| 磐安县| 塔城市| 红原县| 天祝| 茂名市| 阿拉善左旗| 河南省| 大关县| 轮台县| 望奎县| 阳原县| 白银市| 宁安市| 娄烦县| 大新县| 章丘市| 舟山市| 都安| 曲麻莱县| 益阳市| 南华县| 梁河县| 浦县| 湄潭县| 贞丰县|