• <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>
  • 大型網站性能策略:詳細解析nginx負載均衡(2)

    發表于:2014-07-14來源:IT博客大學習作者:不詳點擊數: 標簽:負載均衡
    2.2. ip hash ip hash是nginx內置的另一個負載均衡的策略,流程和輪詢很類似,只是其中的算法和具體的策略有些變化,如下圖所示: ip hash算法的核心實現如下

      2.2. ip hash

      ip hash是nginx內置的另一個負載均衡的策略,流程和輪詢很類似,只是其中的算法和具體的策略有些變化,如下圖所示:

      ip hash算法的核心實現如下圖:

      從代碼中可以看出,hash值既與ip有關又與后端機器的數量有關。經過測試,上述算法可以連續產生1045個互異的value,這是該算法的硬限制。對此nginx使用了保護機制,當經過20次hash仍然找不到可用的機器時,算法退化成輪詢。因此,從本質上說,ip hash算法是一種變相的輪詢算法,如果兩個ip的初始hash值恰好相同,那么來自這兩個ip的請求將永遠落在同一臺服務器上,這為均衡性埋下了很深的隱患。

      2.3. fair

      fair策略是擴展策略,默認不被編譯進nginx內核。其原理是根據后端服務器的響應時間判斷負載情況,從中選出負載最輕的機器進行分流。這種策略具有很強的自適應性,但是實際的網絡環境往往不是那么簡單,因此要慎用。

      2.4. 通用hash、一致性hash

      這兩種也是擴展策略,在具體的實現上有些差別,通用hash比較簡單,可以以nginx內置的變量為key進行hash,一致性hash采用了nginx內置的一致性hash環,可以支持memcache。

      3. 對比測試

      本測試主要為了對比各個策略的均衡性、一致性、容災性等,從而分析出其中的差異性,并據此給出各自的適用場景。為了能夠全面、客觀的測試 nginx的負載均衡策略,我們采用了兩個測試工具、在不同場景下做測試,以此來降低環境對測試結果造成的影響。首先簡單介紹測試工具、測試網絡拓撲和基本的測試流程。

      3.1. 測試工具

      3.1.1 easyABC

      easyABC是公司內部開發性能測試工具,采用epool模型實現,簡單易上手,可以模擬GET/POST請求,極限情況下可以提供上萬的壓力,在公司內部得到了廣泛的使用。由于被測試對象為反向代理服務器,因此需要在其后端搭建樁服務器,這里用nginx作為樁webserver,提供最基本的靜態文件服務。

      3.1.2 polygraph

      polygraph是一款免費的性能測試工具,以對緩存服務、代理、交換機等方面的測試見長。它有規范的配置語言PGL(Polygraph Language),為軟件提供了強大的靈活性。其工作原理如下圖所示:

      polygraph提供client端和server端,將測試目標nginx放在二者之間,三者之間的網絡交互均走http協議,只需配置ip+port即可。client端可以配置虛擬robot的個數以及每個robot發請求的速率,并向代理服務器發起隨機的靜態文件請求,server端將按照請求的url生成隨機大小的靜態文件做響應。這也是選用這個測試軟件的一個主要原因:可以產生隨機的url作為nginx各種hash策略的key。

      另外,polygraph還提供了日志分析工具,功能比較豐富,感興趣的同學可以參考附錄中的相關材料。

      3.2. 測試環境

      本測試運行在5臺物理機上,其中被測對象單獨搭在一臺8核機器上,另外四臺4核機器分別搭建了easyABC、webserver樁和polygraph,如下圖所示:

      3.3. 測試方案

      首先介紹下關鍵的測試指標:

      均衡性:是否能夠將請求均勻的發送給后端

      一致性:同一個key的請求,是否能落到同一臺機器

      容災性:當部分后端機器掛掉時,是否能夠正常工作

      以上述指標為指導,我們針對如下四個測試場景分別用easyABC和polygraph進行測試:

      場景1 server_*均正常提供服務;

    原文轉自:http://blogread.cn/it/article/5608?f=wb2

    老湿亚洲永久精品ww47香蕉图片_日韩欧美中文字幕北美法律_国产AV永久无码天堂影院_久久婷婷综合色丁香五月

  • <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>