99精品伊人亚洲|最近国产中文炮友|九草在线视频支援|AV网站大全最新|美女黄片免费观看|国产精品资源视频|精彩无码视频一区|91大神在线后入|伊人终合在线播放|久草综合久久中文

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線(xiàn)課程
  • 觀(guān)看技術(shù)視頻
  • 寫(xiě)文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

詳解Nginx負(fù)載均衡配置誤區(qū)

Linux愛(ài)好者 ? 來(lái)源:51cto ? 作者:mb5ff980f81f3d8 ? 2021-05-13 14:36 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

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

先看官網(wǎng)文檔中的描述

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

官網(wǎng)文檔中解釋max_fails是指在fail_timeout配置的時(shí)間內(nèi),服務(wù)器通信失敗的次數(shù),默認(rèn)為1,即在fail_timeout時(shí)間內(nèi),1次請(qǐng)求失敗即不再?lài)L試,將請(qǐng)求根據(jù)hash規(guī)則,轉(zhuǎn)發(fā)到下一個(gè)上游服務(wù)

fail_timeout有兩種含義:

當(dāng)已經(jīng)確認(rèn)上游服務(wù)不可用時(shí),是指與上游服務(wù)器通信失敗次數(shù)的時(shí)間

服務(wù)器不可用的時(shí)間段

默認(rèn)是10s

文字不是很好理解,搭建個(gè)實(shí)驗(yàn)環(huán)境,環(huán)境如下:

Nginx

PHP-FPM(x2)

nginx通過(guò)fast-cgi將php請(qǐng)求轉(zhuǎn)發(fā)到PHP-FPM,這里PHP-FPM服務(wù)即上游服務(wù),設(shè)置upstream,負(fù)載PHP-FPM

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

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

upstream按照默認(rèn)配置,即max_fails=1,fail_timeout=10

現(xiàn)在通過(guò)tailf分別監(jiān)聽(tīng)兩個(gè)PHP-FPM日志

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

請(qǐng)求4次,因?yàn)槭悄J(rèn)輪詢(xún)的,所以可以看時(shí)間,輪詢(xún)將請(qǐng)求分發(fā)到兩個(gè)PHP-FPM上游

可以從上面的日志中看到,按照輪詢(xún)規(guī)則,下次請(qǐng)求應(yīng)該落到PHP-FPM2上面,接著,關(guān)掉PHP-FPM1,繼續(xù)請(qǐng)求

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

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

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

可以看到,關(guān)掉PHP-FPM1后,發(fā)起的請(qǐng)求,本來(lái)第二次請(qǐng)求(1758)應(yīng)該分發(fā)到PHP-FPM1的,然后從Nginx錯(cuò)誤日志可以看到,連接PHP-FPM1失敗,這里只做了一次失敗嘗試,然后Nginx將請(qǐng)求轉(zhuǎn)發(fā)到PHP-FPM2處理了

接著將max_fails設(shè)置為2,繼續(xù)上面的請(qǐng)求

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

開(kāi)啟PHP-FPM1,繼續(xù)請(qǐng)求,兩個(gè)負(fù)載輪詢(xún)轉(zhuǎn)發(fā)請(qǐng)求

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

接著繼續(xù)關(guān)掉PHP-FPM1,連續(xù)發(fā)起多次請(qǐng)求,查看日志

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

所有請(qǐng)求都在PHP-FPM2上,看Nginx錯(cuò)誤日志

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

兩次輪詢(xún)到PHP-FPM1的時(shí)候,失敗,之后不會(huì)再將請(qǐng)求分發(fā)到PHP-FPM1上游服務(wù)

接著,不開(kāi)啟PHP-FPM1,繼續(xù)發(fā)起多次請(qǐng)求,由于默認(rèn)的fail_timeout=10,所以在上面的失敗檢測(cè)10s之后再次發(fā)起請(qǐng)求,查看日志

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

繼續(xù)分發(fā)到PHP-FPM2,接著看Nginx錯(cuò)誤日志

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

可以看到,過(guò)了fail_timeout的時(shí)間后,Ngxin會(huì)再次將請(qǐng)求發(fā)往FPM-PHP1進(jìn)行嘗試,嘗試2次失敗后,在fail_timeout時(shí)間內(nèi),不會(huì)再將請(qǐng)求分發(fā),

這里有幾個(gè)誤區(qū):

Nginx記錄了連接上游失敗,這個(gè)請(qǐng)求就返回錯(cuò)誤請(qǐng)求,或這個(gè)請(qǐng)求丟失沒(méi)處理

這個(gè)理解是錯(cuò)誤的,Nginx只是記錄了失敗的請(qǐng)求到日志,并將這個(gè)請(qǐng)求又轉(zhuǎn)發(fā)到了可用的其他上游服務(wù),知道所有上游都不可用時(shí),才會(huì)返回錯(cuò)誤狀態(tài)

max_fails是指連續(xù)請(qǐng)求失敗的次數(shù)

max_fails是在fail_timeout指定的時(shí)間內(nèi)的失敗次數(shù),請(qǐng)求還是按照配置的負(fù)載均衡算法來(lái)走,并不是第一次請(qǐng)求失敗之后,繼續(xù)將這個(gè)請(qǐng)求在嘗試一次,達(dá)到失敗次數(shù)之后,標(biāo)記為不可用

fail_timeout越短越好

當(dāng)訪(fǎng)問(wèn)量大的時(shí)候,fail_timeout設(shè)置太短,會(huì)導(dǎo)致不斷的嘗試與不可用上游的連接,耗費(fèi)大量的tcp資源進(jìn)行連接

fail_timeout越長(zhǎng)越好

當(dāng)訪(fǎng)問(wèn)量大的時(shí)候,fail_timeout設(shè)置太長(zhǎng),會(huì)導(dǎo)致負(fù)載不均衡,有可能會(huì)擊穿某個(gè)上游后端,達(dá)不到負(fù)載的效果

編輯:jq

聲明:本文內(nèi)容及配圖由入駐作者撰寫(xiě)或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀(guān)點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 服務(wù)器
    +關(guān)注

    關(guān)注

    13

    文章

    9793

    瀏覽量

    87935
  • PHP
    PHP
    +關(guān)注

    關(guān)注

    0

    文章

    454

    瀏覽量

    27530
  • 負(fù)載均衡
    +關(guān)注

    關(guān)注

    0

    文章

    122

    瀏覽量

    12601

原文標(biāo)題:Nginx負(fù)載均衡配置誤區(qū)

文章出處:【微信號(hào):LinuxHub,微信公眾號(hào):Linux愛(ài)好者】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    一文詳解Nginx負(fù)載均衡

    Nginx作為負(fù)載均衡器,通過(guò)將請(qǐng)求分發(fā)到多個(gè)后端服務(wù)器,以提高性能、可靠性和擴(kuò)展性。支持多種負(fù)載均衡算法,如輪詢(xún)、最小連接數(shù)、IP哈希等,
    的頭像 發(fā)表于 06-25 14:51 ?179次閱讀
    一文<b class='flag-5'>詳解</b><b class='flag-5'>Nginx</b><b class='flag-5'>負(fù)載</b><b class='flag-5'>均衡</b>

    Nginx配置終極指南

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

    Nginx緩存配置詳解

    Nginx 是一個(gè)功能強(qiáng)大的 Web 服務(wù)器和反向代理服務(wù)器,它可以用于實(shí)現(xiàn)靜態(tài)內(nèi)容的緩存,緩存可以分為客戶(hù)端緩存和服務(wù)端緩存。
    的頭像 發(fā)表于 05-07 14:03 ?572次閱讀
    <b class='flag-5'>Nginx</b>緩存<b class='flag-5'>配置</b><b class='flag-5'>詳解</b>

    常見(jiàn)網(wǎng)絡(luò)負(fù)載均衡的幾種方式

    常見(jiàn)網(wǎng)絡(luò)負(fù)載均衡的幾種方式包括:DNS負(fù)載均衡、反向代理負(fù)載均衡、IP
    的頭像 發(fā)表于 03-06 11:14 ?522次閱讀

    常見(jiàn)的lvs負(fù)載均衡算法

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

    Nginx日常運(yùn)維方法Linux版

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

    常用的服務(wù)器負(fù)載均衡多少錢(qián)一臺(tái)?

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

    確保網(wǎng)站無(wú)縫運(yùn)行:Keepalived高可用與Nginx集成實(shí)戰(zhàn)

    nginx負(fù)載均衡機(jī)高可用 腦裂 腦裂產(chǎn)生的原因 腦裂的常見(jiàn)解決方案 對(duì)腦裂進(jìn)行監(jiān)控 keepalived簡(jiǎn)介 keepalived官網(wǎng) Keepalived 軟件起初是專(zhuān)為L(zhǎng)VS負(fù)載
    的頭像 發(fā)表于 11-27 09:08 ?1174次閱讀
    確保網(wǎng)站無(wú)縫運(yùn)行:Keepalived高可用與<b class='flag-5'>Nginx</b>集成實(shí)戰(zhàn)

    多鏈路負(fù)載均衡設(shè)置在哪里?

    多鏈路負(fù)載均衡設(shè)置涉及交換機(jī)、路由器和(可選)負(fù)載均衡器的設(shè)置。首先規(guī)劃網(wǎng)絡(luò)拓?fù)浜虸P地址,備份設(shè)備配置。然后,在交換機(jī)上
    的頭像 發(fā)表于 11-13 10:19 ?470次閱讀

    nginx負(fù)載均衡配置介紹

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

    華納云:什么是負(fù)載均衡??jī)?yōu)化資源利用率的策略

    負(fù)載均衡是現(xiàn)代計(jì)算機(jī)網(wǎng)絡(luò)架構(gòu)中不可或缺的一部分,它通過(guò)智能分配請(qǐng)求和任務(wù),確保系統(tǒng)資源的高效利用。本文將探討負(fù)載均衡的概念、工作原理、優(yōu)化資源利用率的策略及其在實(shí)際應(yīng)用中的重要性。 1
    的頭像 發(fā)表于 10-28 16:07 ?600次閱讀

    天翼云彈性負(fù)載均衡介紹

    負(fù)載均衡(Load Balancing)是一種優(yōu)化資源分配的技術(shù),主要用于在網(wǎng)絡(luò)環(huán)境中分散工作負(fù)載,以提高系統(tǒng)的響應(yīng)速度、吞吐量以及可靠性。在互聯(lián)網(wǎng)服務(wù)中,當(dāng)單臺(tái)服務(wù)器無(wú)法處理大量并發(fā)請(qǐng)求時(shí),就需要
    的頭像 發(fā)表于 10-25 16:20 ?1383次閱讀
    天翼云彈性<b class='flag-5'>負(fù)載</b><b class='flag-5'>均衡</b>介紹

    IPVS負(fù)載均衡原理解析

    ipvs (IP Virtual Server) 實(shí)現(xiàn)了傳輸層負(fù)載均衡,也就是我們常說(shuō)的4層LAN交換,作為 Linux 內(nèi)核的一部分。ipvs運(yùn)行在主機(jī)上,在真實(shí)服務(wù)器集群前充當(dāng)負(fù)載均衡
    的頭像 發(fā)表于 10-24 17:34 ?778次閱讀

    零基礎(chǔ)也可以搞懂負(fù)載均衡怎么配置

    負(fù)載均衡怎么配置?在Linux中配置負(fù)載均衡器的步驟涉及多個(gè)環(huán)節(jié),包括選擇
    的頭像 發(fā)表于 10-12 15:58 ?609次閱讀

    負(fù)載均衡服務(wù)由幾部分組成?分別是什么

    均衡服務(wù)通常由六部分組成,分別是客戶(hù)端、負(fù)載均衡器、后端服務(wù)器、負(fù)載均衡算法、監(jiān)控和健康檢查及會(huì)話(huà)保持。這六者互相協(xié)同工作,實(shí)現(xiàn)了流量的有效
    的頭像 發(fā)表于 09-18 11:16 ?555次閱讀