在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

詳解Nginx負載均衡配置誤區

Linux愛好者 ? 來源:51cto ? 作者:mb5ff980f81f3d8 ? 2021-05-13 14:36 ? 次閱讀

之前有很多朋友問關于Nginx的upstream模塊中max_fails及fail_timeout,這兩個指令,分別是配置關于負載均衡過程中,對于上游(后端)服務器的失敗嘗試次數和不可用時間,很多人不是很理解這兩個參數到底怎么用,以及具體的含義

先看官網文檔中的描述

3ea34db0-b3a2-11eb-bf61-12bb97331649.png

官網文檔中解釋max_fails是指在fail_timeout配置的時間內,服務器通信失敗的次數,默認為1,即在fail_timeout時間內,1次請求失敗即不再嘗試,將請求根據hash規則,轉發到下一個上游服務

fail_timeout有兩種含義:

當已經確認上游服務不可用時,是指與上游服務器通信失敗次數的時間

服務器不可用的時間段

默認是10s

文字不是很好理解,搭建個實驗環境,環境如下:

Nginx

PHP-FPM(x2)

nginx通過fast-cgi將php請求轉發到PHP-FPM,這里PHP-FPM服務即上游服務,設置upstream,負載PHP-FPM

3eb3feda-b3a2-11eb-bf61-12bb97331649.png

3ec5be9a-b3a2-11eb-bf61-12bb97331649.png

upstream按照默認配置,即max_fails=1,fail_timeout=10

現在通過tailf分別監聽兩個PHP-FPM日志

3ed58e06-b3a2-11eb-bf61-12bb97331649.png

請求4次,因為是默認輪詢的,所以可以看時間,輪詢將請求分發到兩個PHP-FPM上游

可以從上面的日志中看到,按照輪詢規則,下次請求應該落到PHP-FPM2上面,接著,關掉PHP-FPM1,繼續請求

3ee02596-b3a2-11eb-bf61-12bb97331649.png

可以看到,PHP-FPM1肯定是不響應了,PHP-FPM2正常響應,接著看下Nginx日志

3ef35aa8-b3a2-11eb-bf61-12bb97331649.png

可以看到,關掉PHP-FPM1后,發起的請求,本來第二次請求(1758)應該分發到PHP-FPM1的,然后從Nginx錯誤日志可以看到,連接PHP-FPM1失敗,這里只做了一次失敗嘗試,然后Nginx將請求轉發到PHP-FPM2處理了

接著將max_fails設置為2,繼續上面的請求

3efd6d7c-b3a2-11eb-bf61-12bb97331649.png

開啟PHP-FPM1,繼續請求,兩個負載輪詢轉發請求

3f0c7650-b3a2-11eb-bf61-12bb97331649.png

接著繼續關掉PHP-FPM1,連續發起多次請求,查看日志

3f1b1214-b3a2-11eb-bf61-12bb97331649.png

所有請求都在PHP-FPM2上,看Nginx錯誤日志

3f325b40-b3a2-11eb-bf61-12bb97331649.png

兩次輪詢到PHP-FPM1的時候,失敗,之后不會再將請求分發到PHP-FPM1上游服務

接著,不開啟PHP-FPM1,繼續發起多次請求,由于默認的fail_timeout=10,所以在上面的失敗檢測10s之后再次發起請求,查看日志

3f449d0a-b3a2-11eb-bf61-12bb97331649.png

繼續分發到PHP-FPM2,接著看Nginx錯誤日志

3f602872-b3a2-11eb-bf61-12bb97331649.png

可以看到,過了fail_timeout的時間后,Ngxin會再次將請求發往FPM-PHP1進行嘗試,嘗試2次失敗后,在fail_timeout時間內,不會再將請求分發,

這里有幾個誤區:

Nginx記錄了連接上游失敗,這個請求就返回錯誤請求,或這個請求丟失沒處理

這個理解是錯誤的,Nginx只是記錄了失敗的請求到日志,并將這個請求又轉發到了可用的其他上游服務,知道所有上游都不可用時,才會返回錯誤狀態

max_fails是指連續請求失敗的次數

max_fails是在fail_timeout指定的時間內的失敗次數,請求還是按照配置的負載均衡算法來走,并不是第一次請求失敗之后,繼續將這個請求在嘗試一次,達到失敗次數之后,標記為不可用

fail_timeout越短越好

當訪問量大的時候,fail_timeout設置太短,會導致不斷的嘗試與不可用上游的連接,耗費大量的tcp資源進行連接

fail_timeout越長越好

當訪問量大的時候,fail_timeout設置太長,會導致負載不均衡,有可能會擊穿某個上游后端,達不到負載的效果

編輯:jq

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 服務器
    +關注

    關注

    13

    文章

    9727

    瀏覽量

    87426
  • PHP
    PHP
    +關注

    關注

    0

    文章

    454

    瀏覽量

    27318
  • 負載均衡
    +關注

    關注

    0

    文章

    119

    瀏覽量

    12552

原文標題:Nginx負載均衡配置誤區

文章出處:【微信號:LinuxHub,微信公眾號:Linux愛好者】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦
    熱點推薦

    Nginx配置終極指南

    更新。性能是 Nginx 最重要的考量,其占用內存少、并發能力強、能支持高達 5w 個并發連接數,最重要的是, Nginx 是免費的并可以商業化,配置使用也比較簡單。
    的頭像 發表于 06-18 15:56 ?54次閱讀
    <b class='flag-5'>Nginx</b><b class='flag-5'>配置</b>終極指南

    Nginx緩存配置詳解

    Nginx 是一個功能強大的 Web 服務器和反向代理服務器,它可以用于實現靜態內容的緩存,緩存可以分為客戶端緩存和服務端緩存。
    的頭像 發表于 05-07 14:03 ?465次閱讀
    <b class='flag-5'>Nginx</b>緩存<b class='flag-5'>配置</b><b class='flag-5'>詳解</b>

    常見網絡負載均衡的幾種方式

    常見網絡負載均衡的幾種方式包括:DNS負載均衡、反向代理負載均衡、IP
    的頭像 發表于 03-06 11:14 ?456次閱讀

    常見的lvs負載均衡算法

    常見的lvs負載均衡算法包括輪詢(RR)、加權輪詢(WRR)、最小連接(LC)、加權最小連接(WLC)、基于局部性的最少鏈接(LBLC)、帶復制的LBLC(LBLCR)、目標地址散列(DH)、源地址
    的頭像 發表于 12-12 13:50 ?510次閱讀

    Nginx日常運維方法Linux版

    Nginx安裝目錄? ? whereis nginx ? 如圖: 執行目錄:/usr/sbin/nginx 模塊所在目錄:/usr/lib64/nginx/modules
    的頭像 發表于 12-06 16:38 ?425次閱讀
    <b class='flag-5'>Nginx</b>日常運維方法Linux版

    常用的服務器負載均衡多少錢一臺?

    服務器負載均衡的價格因配置、功能、類型(硬件、軟件或云服務)及服務提供商不同而異。硬件負載均衡價格區間大,從數千元到數十萬元不等;軟件
    的頭像 發表于 12-05 11:52 ?380次閱讀

    確保網站無縫運行:Keepalived高可用與Nginx集成實戰

    nginx負載均衡機高可用 腦裂 腦裂產生的原因 腦裂的常見解決方案 對腦裂進行監控 keepalived簡介 keepalived官網 Keepalived 軟件起初是專為LVS負載
    的頭像 發表于 11-27 09:08 ?1111次閱讀
    確保網站無縫運行:Keepalived高可用與<b class='flag-5'>Nginx</b>集成實戰

    多鏈路負載均衡設置在哪里?

    多鏈路負載均衡設置涉及交換機、路由器和(可選)負載均衡器的設置。首先規劃網絡拓撲和IP地址,備份設備配置。然后,在交換機上
    的頭像 發表于 11-13 10:19 ?430次閱讀

    nginx負載均衡配置介紹

    目錄 nginx負載均衡 nginx負載均衡介紹 反向代理與
    的頭像 發表于 11-10 13:39 ?672次閱讀
    <b class='flag-5'>nginx</b><b class='flag-5'>負載</b><b class='flag-5'>均衡</b><b class='flag-5'>配置</b>介紹

    華納云:什么是負載均衡?優化資源利用率的策略

    負載均衡是現代計算機網絡架構中不可或缺的一部分,它通過智能分配請求和任務,確保系統資源的高效利用。本文將探討負載均衡的概念、工作原理、優化資源利用率的策略及其在實際應用中的重要性。 1
    的頭像 發表于 10-28 16:07 ?554次閱讀

    天翼云彈性負載均衡介紹

    負載均衡(Load Balancing)是一種優化資源分配的技術,主要用于在網絡環境中分散工作負載,以提高系統的響應速度、吞吐量以及可靠性。在互聯網服務中,當單臺服務器無法處理大量并發請求時,就需要
    的頭像 發表于 10-25 16:20 ?1268次閱讀
    天翼云彈性<b class='flag-5'>負載</b><b class='flag-5'>均衡</b>介紹

    零基礎也可以搞懂負載均衡怎么配置

    負載均衡怎么配置?在Linux中配置負載均衡器的步驟涉及多個環節,包括選擇
    的頭像 發表于 10-12 15:58 ?556次閱讀

    負載均衡服務由幾部分組成?分別是什么

    均衡服務通常由六部分組成,分別是客戶端、負載均衡器、后端服務器、負載均衡算法、監控和健康檢查及會話保持。這六者互相協同工作,實現了流量的有效
    的頭像 發表于 09-18 11:16 ?524次閱讀

    nginx重啟命令linux步驟是什么?

      1、驗證nginx配置文件是否正確   方法一:進入nginx安裝目錄sbin下,輸入命令./nginx -t   看到如下顯示nginx
    發表于 07-11 17:13

    nginx重啟命令linux步驟是什么?

      1、驗證nginx配置文件是否正確   方法一:進入nginx安裝目錄sbin下,輸入命令./nginx -t   看到如下顯示nginx
    發表于 07-10 16:40
    主站蜘蛛池模板: 国产欧美亚洲精品 | 国产国语videosex另类 | 理论片午午伦夜理片影院99 | xxxx欧美| 日本簧片在线观看 | 亚洲一区二区三区影院 | se97se成人亚洲网站在线观看 | 午夜三级福利 | 欧美com| 欧美色视频网站 | 免费看美女午夜大片 | 免费黄色一级毛片 | 欧美aaaaa| 国模最新私拍视频在线观看 | 久久久噜噜噜久久久 | 怡红院精品视频 | 亚洲精品老司机综合影院 | 狠狠干干干 | 国产女主播精品大秀系列在线 | 日韩欧美中文字幕在线播放 | 午夜视频免费在线 | 亚洲人成电影院 | 婷婷九月丁香 | 免费抓胸吻胸激烈视频网站 | 男人和女人做免费做爽爽视频 | 欧美一级片网址 | 美女黄色一级毛片 | 人人澡人人添 | 2020年亚洲天天爽天天噜 | 尤物啪啪 | 国产亚洲人成网站天堂岛 | 免费人成网站线观看合集 | 电影天堂bt | 欧美性黑人极品hd网站 | 免费一级毛片在线播放 | 男人天堂网www | 日本人zzzwww| 久久精品免费看 | 国产激情片 | 国产永久视频夜色资源网 | 都市激情综合 |