<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          Linux系統(tǒng)性能優(yōu)化:七個實戰(zhàn)經(jīng)驗

          共 8465字,需瀏覽 17分鐘

           ·

          2024-04-26 08:00

          來源公眾號:twt社區(qū)IT社區(qū)

          原文鏈接:https://mp.weixin.qq.com/s/Rey0gSnnj-zoAEwE6J-Gjw

          Linux系統(tǒng)的性能是指操作系統(tǒng)完成任務(wù)的有效性、穩(wěn)定性和響應(yīng)速度。Linux系統(tǒng)管理員可能經(jīng)常會遇到系統(tǒng)不穩(wěn)定、響應(yīng)速度慢等問題,例如在Linux上搭建了一個web服務(wù),經(jīng)常出現(xiàn)網(wǎng)頁無法打開、打開速度慢等現(xiàn)象,而遇到這些問題,就有人會抱怨Linux系統(tǒng)不好,其實這些都是表面現(xiàn)象。
          操作系統(tǒng)完成一個任務(wù)時,與系統(tǒng)自身設(shè)置、網(wǎng)絡(luò)拓樸結(jié)構(gòu)、路由設(shè)備、路由策略、接入設(shè)備、物理線路等多個方面都密切相關(guān),任何一個環(huán)節(jié)出現(xiàn)問題,都會影響整個系統(tǒng)的性能。因此當(dāng)Linux應(yīng)用出現(xiàn)問題時,應(yīng)當(dāng)從應(yīng)用程序、操作系統(tǒng)、服務(wù)器硬件、網(wǎng)絡(luò)環(huán)境等方面綜合排查,定位問題出現(xiàn)在哪個部分,然后集中解決。
          隨著容器時代的普及和AI技術(shù)的顛覆,面對越來越復(fù)雜的業(yè)務(wù)和架構(gòu),再加上企業(yè)的降本增效已提上了日程,因此對Linux的高性能、可靠性提出了更高的要求,Linux性能優(yōu)化成為運維人員的必備的核心技能。
          例如,主機CPU使用率過高報警,登錄Linux上去top完之后,卻不知道怎么進(jìn)一步定位,到底是系統(tǒng)CPU資源太少,還是應(yīng)用程序?qū)е碌膯栴}?這些Linux性能問題一直困擾著我們,哪怕工作多年的資深工程師也不例外。

          本文根據(jù)社區(qū)探討,整理出企業(yè)Linux系統(tǒng)性能優(yōu)化的7個實戰(zhàn)經(jīng)驗,來自社區(qū)專家和會員分享,希望對大家有所幫助。

          1、影響Linux系統(tǒng)性能的因素一般有哪些?


          @zhaoxiaoyong081 平安科技 資深工程師:

          Linux系統(tǒng)的性能受多個因素的影響。以下是一些常見的影響Linux系統(tǒng)性能的因素:

          • CPU負(fù)載:CPU的利用率和負(fù)載水平對系統(tǒng)性能有直接影響。高CPU負(fù)載可能導(dǎo)致進(jìn)程響應(yīng)變慢、延遲增加和系統(tǒng)變得不穩(wěn)定。

          • 內(nèi)存使用:內(nèi)存是系統(tǒng)運行的關(guān)鍵資源。當(dāng)系統(tǒng)內(nèi)存不足時,可能會導(dǎo)致進(jìn)程被終止、交換分區(qū)使用過多以及系統(tǒng)性能下降。

          • 磁盤I/O:磁盤I/O性能是影響系統(tǒng)響應(yīng)時間和吞吐量的重要因素。高磁盤I/O負(fù)載可能導(dǎo)致延遲增加、響應(yīng)變慢和系統(tǒng)性能下降。

          • 網(wǎng)絡(luò)負(fù)載:網(wǎng)絡(luò)流量的增加和網(wǎng)絡(luò)延遲會對系統(tǒng)性能產(chǎn)生影響。高網(wǎng)絡(luò)負(fù)載可能導(dǎo)致網(wǎng)絡(luò)延遲增加、響應(yīng)變慢和系統(tǒng)資源競爭。

          • 進(jìn)程調(diào)度:Linux系統(tǒng)使用進(jìn)程調(diào)度器來管理和分配CPU資源。調(diào)度算法的選擇和配置會影響進(jìn)程的優(yōu)先級和執(zhí)行順序,從而影響系統(tǒng)的響應(yīng)能力和負(fù)載均衡。

          • 文件系統(tǒng)性能:文件系統(tǒng)的選擇和配置對磁盤I/O性能有影響。不同的文件系統(tǒng)可能在性能方面有所差異,適當(dāng)?shù)奈募到y(tǒng)選項和調(diào)整可以改善系統(tǒng)性能。

          • 內(nèi)核參數(shù):Linux內(nèi)核有許多可調(diào)整的參數(shù),可以影響系統(tǒng)的性能和行為。例如,TCP/IP參數(shù)、內(nèi)存管理參數(shù)、文件系統(tǒng)緩存等。適當(dāng)?shù)膬?nèi)核參數(shù)調(diào)整可以改善系統(tǒng)的性能和資源利用率。

          • 資源限制和配額:在多用戶環(huán)境中,資源限制和配額的設(shè)置可以控制每個用戶或進(jìn)程可使用的資源量。適當(dāng)?shù)馁Y源管理可以避免某些進(jìn)程耗盡系統(tǒng)資源而導(dǎo)致性能問題。

          這些因素之間相互關(guān)聯(lián),對系統(tǒng)性能產(chǎn)生綜合影響。為了優(yōu)化Linux系統(tǒng)性能,需要綜合考慮并適當(dāng)調(diào)整這些因素,以滿足特定的需求和使用情況。

          2、工作中有沒有快速排除故障的辦法?


          @zhaoxiaoyong081 平安科技 資深工程師:


          1.CPU 性能分析

          利用 top、vmstat、pidstat、strace 以及 perf 等幾個最常見的工具,獲取 CPU 性能指標(biāo)后,再結(jié)合進(jìn)程與 CPU 的工作原理,就可以迅速定位出 CPU 性能瓶頸的來源。

          比如說,當(dāng)你收到系統(tǒng)的用戶 CPU 使用率過高告警時,從監(jiān)控系統(tǒng)中直接查詢到,導(dǎo)致 CPU 使用率過高的進(jìn)程;然后再登錄到進(jìn)程所在的 Linux 服務(wù)器中,分析該進(jìn)程的行為。你可以使用 strace,查看進(jìn)程的系統(tǒng)調(diào)用匯總;也可以使用 perf 等工具,找出進(jìn)程的熱點函數(shù);甚至還可以使用動態(tài)追蹤的方法,來觀察進(jìn)程的當(dāng)前執(zhí)行過程,直到確定瓶頸的根源。

          2.內(nèi)存性能分析

          可以通過 free 和 vmstat 輸出的性能指標(biāo),確認(rèn)內(nèi)存瓶頸;然后,再根據(jù)內(nèi)存問題的類型,進(jìn)一步分析內(nèi)存的使用、分配、泄漏以及緩存等,最后找出問題的來源。

          比如說,當(dāng)你收到內(nèi)存不足的告警時,首先可以從監(jiān)控系統(tǒng)中。找出占用內(nèi)存最多的幾個進(jìn)程。然后,再根據(jù)這些進(jìn)程的內(nèi)存占用歷史,觀察是否存在內(nèi)存泄漏問題。確定出最可疑的進(jìn)程后,再登錄到進(jìn)程所在的 Linux 服務(wù)器中,分析該進(jìn)程的內(nèi)存空間或者內(nèi)存分配,最后弄清楚進(jìn)程為什么會占用大量內(nèi)存。

          3.磁盤和文件系統(tǒng) I/O 性能分析

          當(dāng)你使用 iostat ,發(fā)現(xiàn)磁盤 I/O 存在性能瓶頸(比如 I/O 使用率過高、響應(yīng)時間過長或者等待隊列長度突然增大等)后,可以再通過 pidstat、 vmstat 等,確認(rèn) I/O 的來源。接著,再根據(jù)來源的不同,進(jìn)一步分析文件系統(tǒng)和磁盤的使用率、緩存以及進(jìn)程的 I/O 等,從而揪出 I/O 問題的真兇。

          比如說,當(dāng)你發(fā)現(xiàn)某塊磁盤的 I/O 使用率為 100% 時,首先可以從監(jiān)控系統(tǒng)中,找出 I/O 最多的進(jìn)程。然后,再登錄到進(jìn)程所在的 Linux 服務(wù)器中,借助 strace、lsof、perf 等工具,分析該進(jìn)程的 I/O 行為。最后,再結(jié)合應(yīng)用程序的原理,找出大量 I/O 的原因。

          4.網(wǎng)絡(luò)性能分析

          而要分析網(wǎng)絡(luò)的性能,要從這幾個協(xié)議層入手,通過使用率、飽和度以及錯誤數(shù)這幾類性能指標(biāo),觀察是否存在性能問題。比如 :

          在鏈路層,可以從網(wǎng)絡(luò)接口的吞吐量、丟包、錯誤以及軟中斷和網(wǎng)絡(luò)功能卸載等角度分析;

          在網(wǎng)絡(luò)層,可以從路由、分片、疊加網(wǎng)絡(luò)等角度進(jìn)行分析;

          在傳輸層,可以從 TCP、UDP 的協(xié)議原理出發(fā),從連接數(shù)、吞吐量、延遲、重傳等角度進(jìn)行分析;

          比如,當(dāng)你收到網(wǎng)絡(luò)不通的告警時,就可以從監(jiān)控系統(tǒng)中,查找各個協(xié)議層的丟包指標(biāo),確認(rèn)丟包所在的協(xié)議層。然后,從監(jiān)控系統(tǒng)的數(shù)據(jù)中,確認(rèn)網(wǎng)絡(luò)帶寬、緩沖區(qū)、連接跟蹤數(shù)等軟硬件,是否存在性能瓶頸。最后,再登錄到發(fā)生問題的 Linux 服務(wù)器中,借助 netstat、tcpdump、bcc 等工具,分析網(wǎng)絡(luò)的收發(fā)數(shù)據(jù),并且結(jié)合內(nèi)核中的網(wǎng)絡(luò)選項以及 TCP 等網(wǎng)絡(luò)協(xié)議的原理,找出問題的來源。

          3、Linux環(huán)境下,怎么排查os中系統(tǒng)負(fù)載過高的原因瓶頸?


          @zhaoxiaoyong081 平安科技 資深工程師:

          在Linux環(huán)境下排查系統(tǒng)負(fù)載過高的原因和瓶頸,可以采取以下步驟:

          • 使用top或htop命令觀察系統(tǒng)整體負(fù)載情況。查看load average的值,分別表示系統(tǒng)在1分鐘、5分鐘和15分鐘內(nèi)的平均負(fù)載。如果負(fù)載值超過CPU核心數(shù)量的70-80%,表示系統(tǒng)負(fù)載過高。

          • 使用top或htop命令查看CPU占用率。觀察哪些進(jìn)程占用了大量的CPU資源。如果有某個進(jìn)程持續(xù)高CPU占用,可能是引起負(fù)載過高的原因之一。

          • 使用free命令查看系統(tǒng)內(nèi)存使用情況。觀察內(nèi)存的使用量和剩余量。如果內(nèi)存使用量接近或超過物理內(nèi)存容量,可能導(dǎo)致系統(tǒng)開始使用交換空間(swap),進(jìn)而影響系統(tǒng)性能。

          • 使用iotop命令查看磁盤I/O使用情況。觀察磁盤讀寫速率和占用率。如果磁盤I/O負(fù)載過高,可能導(dǎo)致系統(tǒng)響應(yīng)變慢。

          • 使用netstat命令或類似工具查看網(wǎng)絡(luò)連接情況。觀察是否存在大量的網(wǎng)絡(luò)連接或網(wǎng)絡(luò)流量。如果網(wǎng)絡(luò)連接過多或網(wǎng)絡(luò)流量過大,可能影響系統(tǒng)的性能。

          • 檢查日志文件。查看系統(tǒng)日志文件(如/var/log/messages、/var/log/syslog)以及應(yīng)用程序日志,尋找任何異常或錯誤信息,可能有助于確定導(dǎo)致負(fù)載過高的問題。

          • 使用perf或strace等工具進(jìn)行進(jìn)程級別的性能分析。這些工具可以幫助你跟蹤進(jìn)程的系統(tǒng)調(diào)用、函數(shù)調(diào)用和性能瓶頸,進(jìn)一步確定導(dǎo)致負(fù)載過高的具體原因。

          • 檢查系統(tǒng)的配置和參數(shù)設(shè)置。審查相關(guān)的配置文件(如/etc/sysctl.conf、/etc/security/limits.conf)和參數(shù)設(shè)置,確保系統(tǒng)的設(shè)置與實際需求相匹配,并進(jìn)行適當(dāng)?shù)恼{(diào)整。

          綜合上述步驟,可以幫助你定位系統(tǒng)負(fù)載過高的原因和瓶頸,并進(jìn)一步采取相應(yīng)的措施來優(yōu)化系統(tǒng)性能。

          4、Linux怎么找出占用負(fù)載top5的進(jìn)程及主要瓶頸在哪個資源(CPU or 內(nèi)容 or 磁盤 IO)?


          @zhaoxiaoyong081 平安科技 資深工程師:

          CPU 使用排名

          ps aux --sort=-%cpu | head -n 5

          內(nèi)存 使用排名

          ps aux --sort=-%mem | head -n 6

          IO 使用排名

          iotop -oP

          @zwz99999 dcits 系統(tǒng)工程師:

          查看最占用 CPU 的 10 個進(jìn)程

          #ps aux|grep -v USER|sort +2|tail -n 10

          查看最占用內(nèi)存的 10 個進(jìn)程

          #ps aux|grep -v USER|sort +3|tail -n 10

          io

          iostat 1 10看哪個磁盤busy高

          5、Linux的內(nèi)存計算不準(zhǔn)如何解決?


          @Acdante HZTYYJ 技術(shù)總監(jiān):

          free是執(zhí)行時間的瞬時計數(shù),/proc/memory內(nèi)存是實時變化的。

          而且free會把緩存和緩沖區(qū)內(nèi)存都計入使用內(nèi)存,所以會導(dǎo)致看到的可用內(nèi)存少很多。

          準(zhǔn)確值的話,建議結(jié)合多種監(jiān)控指標(biāo)和命令手段去持續(xù)觀測內(nèi)存情況。

          如:htop 、 nmon 、 syssta、top等,可以結(jié)合運維軟件和平臺,而非站在某個時間點,最好是有一定時間的性能數(shù)據(jù)積累,從整體趨勢和具體問題點位去分析。
          內(nèi)存只是一個資源指標(biāo),使用內(nèi)存的調(diào)用才是問題根源。

          @zhaoxiaoyong081 平安科技 資深工程師:

          在一些情況下,通過ps或top命令查看的內(nèi)存使用累計值與free命令或/proc/meminfo文件中的內(nèi)存統(tǒng)計值之間可能存在較大差異。這可以由以下原因?qū)е拢?/span>

          • 緩存和緩沖區(qū):Linux系統(tǒng)使用緩存和緩沖區(qū)來提高文件系統(tǒng)性能。這些緩存和緩沖區(qū)占用的內(nèi)存會被標(biāo)記為"cached"(緩存)和"buffers"(緩沖區(qū))類型。然而,這些內(nèi)存并不一定是實際被進(jìn)程使用的內(nèi)存,而是被內(nèi)核保留用于提高IO性能。因此,ps或top命令顯示的內(nèi)存使用累計值可能包括了這些緩存和緩沖區(qū),而free命令或/proc/meminfo中的統(tǒng)計值通常不包括它們。

          • 共享內(nèi)存:共享內(nèi)存是一種特殊的內(nèi)存區(qū)域,多個進(jìn)程可以訪問和共享它。ps或top命令顯示的內(nèi)存使用累計值可能會包括共享內(nèi)存的大小,而free命令或/proc/meminfo中的統(tǒng)計值通常不會將其計算在內(nèi)。

          • 內(nèi)存回收:Linux系統(tǒng)具有內(nèi)存回收機制,可以在需要時回收未使用的內(nèi)存。這意味著一些進(jìn)程釋放的內(nèi)存可能不會立即反映在ps或top命令顯示的內(nèi)存使用累計值中。相比之下,free命令或/proc/meminfo中的統(tǒng)計值通常更及時地反映實際的內(nèi)存使用情況。

          綜上所述,ps或top命令顯示的內(nèi)存使用累計值和free命令或/proc/meminfo中的內(nèi)存統(tǒng)計值之間的差異通常是由于緩存和緩沖區(qū)、共享內(nèi)存以及內(nèi)存回收等因素造成的。如果你需要更準(zhǔn)確地了解進(jìn)程實際使用的內(nèi)存,建議參考free命令或/proc/meminfo中的統(tǒng)計值,并結(jié)合其他工具和方法進(jìn)行綜合分析

          @wenwen123 項目經(jīng)理:

          在Linux中,可能會出現(xiàn)內(nèi)存計算不準(zhǔn)確的情況,導(dǎo)致ps、top命令中的內(nèi)存使用累計值與free命令或/proc/meminfo中的內(nèi)存統(tǒng)計值之間存在較大差異。這種差異可能由以下原因?qū)е拢?/span>

          • 共享內(nèi)存:共享內(nèi)存是多個進(jìn)程之間共享的一塊內(nèi)存區(qū)域,用于進(jìn)程間通信。共享內(nèi)存不會被ps、top等工具計算在內(nèi)存使用量中,因為它們只統(tǒng)計進(jìn)程的私有內(nèi)存使用量。因此,如果進(jìn)程使用了大量的共享內(nèi)存,它的內(nèi)存使用量在工具中顯示的數(shù)值可能較低。

          • 緩存和緩沖區(qū):Linux系統(tǒng)會將一部分內(nèi)存用于緩存和緩沖區(qū),以提高文件系統(tǒng)和IO操作的性能。這些緩存和緩沖區(qū)的內(nèi)存在ps、top等工具中被視為可回收的,因此它們通常不計入進(jìn)程的內(nèi)存使用量中。但是,在free命令或/proc/meminfo中,這些緩存和緩沖區(qū)的內(nèi)存會被納入統(tǒng)計。

          • 內(nèi)存回收機制:Linux內(nèi)核具有內(nèi)存回收機制,根據(jù)需要自動回收和分配內(nèi)存。這可能導(dǎo)致在ps、top等工具顯示的內(nèi)存使用量和free命令或/proc/meminfo中的統(tǒng)計值之間存在差異。這種差異通常是正常的,并且Linux會動態(tài)管理內(nèi)存以滿足系統(tǒng)的需求。

          針對內(nèi)存計算不準(zhǔn)確的問題,關(guān)注共享內(nèi)存是合理的。共享內(nèi)存的使用可能對進(jìn)程的內(nèi)存使用量造成影響,但不會被ps、top等工具計算在內(nèi)存使用量中。如果需要更準(zhǔn)確地了解進(jìn)程的內(nèi)存使用情況,可以使用專門的工具,如pmap、smem等,這些工具可以提供更詳細(xì)和準(zhǔn)確的內(nèi)存統(tǒng)計信息。

          需要注意的是,Linux內(nèi)存計算的準(zhǔn)確性也取決于內(nèi)核版本、系統(tǒng)配置和使用的工具等因素。在排查內(nèi)存計算不準(zhǔn)確的問題時,建議使用多個工具進(jìn)行對比,并結(jié)合具體場景和需求進(jìn)行分析和判斷。

          6、Swap現(xiàn)在的應(yīng)用場景還有哪些?


          @zhaoxiaoyong081 平安科技 資深工程師:

          雖然現(xiàn)代計算機的內(nèi)存容量越來越大,但交換分區(qū)(swap)仍然在某些場景下具有重要的應(yīng)用。以下是一些使用交換分區(qū)的常見場景:

          • 內(nèi)存不足:交換分區(qū)作為內(nèi)存不足時的后備機制,用于將不經(jīng)常使用或暫時不需要的內(nèi)存頁面轉(zhuǎn)移到磁盤上。當(dāng)物理內(nèi)存(RAM)不足以容納所有活動進(jìn)程和數(shù)據(jù)時,交換分區(qū)可以提供額外的虛擬內(nèi)存空間,以避免系統(tǒng)發(fā)生內(nèi)存耗盡錯誤(Out of Memory)。

          • 休眠/睡眠模式:交換分區(qū)在某些操作系統(tǒng)中用于支持休眠(hibernation)或睡眠(suspend)模式。當(dāng)計算機進(jìn)入休眠或睡眠狀態(tài)時,系統(tǒng)的內(nèi)存狀態(tài)會被保存到交換分區(qū)中,以便在喚醒時恢復(fù)到先前的狀態(tài)。

          • 虛擬化環(huán)境:在虛擬化環(huán)境中,交換分區(qū)可以用于虛擬機的內(nèi)存管理。當(dāng)宿主機的物理內(nèi)存不足時,虛擬機的內(nèi)存頁面可以被交換到宿主機的交換分區(qū),以提供額外的內(nèi)存空間。

          • 內(nèi)存回收和頁面置換:交換分區(qū)可以用于內(nèi)存回收和頁面置換算法。當(dāng)操作系統(tǒng)需要釋放物理內(nèi)存以滿足更緊急的需求時,它可以將不活動的內(nèi)存頁面置換到交換分區(qū)中,以便將物理內(nèi)存分配給更重要的任務(wù)或進(jìn)程。

          盡管交換分區(qū)在上述場景中發(fā)揮作用,但需要注意的是,過度依賴交換分區(qū)可能會導(dǎo)致性能下降。頻繁的交換操作可能會增加I/O負(fù)載,并導(dǎo)致響應(yīng)時間延遲。因此,在現(xiàn)代系統(tǒng)中,通常建議合理配置物理內(nèi)存,以盡量減少對交換分區(qū)的依賴,并保持足夠的內(nèi)存可用性。

          7、在Linux tcp方面有什么調(diào)優(yōu)經(jīng)驗或案例?



          @zhanxuechao 數(shù)字研究院 咨詢專家:

          centos7-os-init.sh

          @zhaoxiaoyong081 平安科技 資深工程師:

          TCP 優(yōu)化,分三類情況詳細(xì)說明:

          第一類,在請求數(shù)比較大的場景下,你可能會看到大量處于 TIME_WAIT 狀態(tài)的連接,它們會占用大量內(nèi)存和端口資源。這時,我們可以優(yōu)化與 TIME_WAIT 狀態(tài)相關(guān)的內(nèi)核選項,比如采取下面幾種措施。

          增大處于 TIME_WAIT 狀態(tài)的連接數(shù)量 net.ipv4.tcp_max_tw_buckets ,并增大連接跟蹤表的大小 net.netfilter.nf_conntrack_max。

          減小 net.ipv4.tcp_fin_timeout 和 net.netfilter.nf_conntrack_tcp_timeout_time_wait ,讓系統(tǒng)盡快釋放它們所占用的資源。

          開啟端口復(fù)用 net.ipv4.tcp_tw_reuse。這樣,被 TIME_WAIT 狀態(tài)占用的端口,還能用到新建的連接中。

          增大本地端口的范圍 net.ipv4.ip_local_port_range 。這樣就可以支持更多連接,提高整體的并發(fā)能力。

          增加最大文件描述符的數(shù)量。你可以使用 fs.nr_open 和 fs.file-max ,分別增大進(jìn)程和系統(tǒng)的最大文件描述符數(shù);或在應(yīng)用程序的 systemd 配置文件中,配置 LimitNOFILE ,設(shè)置應(yīng)用程序的最大文件描述符數(shù)。

          第二類,為了緩解 SYN FLOOD 等,利用 TCP 協(xié)議特點進(jìn)行攻擊而引發(fā)的性能問題,你可以考慮優(yōu)化與 SYN 狀態(tài)相關(guān)的內(nèi)核選項,比如采取下面幾種措施。

          增大 TCP 半連接的最大數(shù)量 net.ipv4.tcp_max_syn_backlog ,或者開啟 TCP SYN Cookies net.ipv4.tcp_syncookies ,來繞開半連接數(shù)量限制的問題(注意,這兩個選項不可同時使用)。

          減少 SYN_RECV 狀態(tài)的連接重傳 SYN+ACK 包的次數(shù) net.ipv4.tcp_synack_retries。

          第三類,在長連接的場景中,通常使用 Keepalive 來檢測 TCP 連接的狀態(tài),以便對端連接斷開后,可以自動回收。但是,系統(tǒng)默認(rèn)的 Keepalive 探測間隔和重試次數(shù),一般都無法滿足應(yīng)用程序的性能要求。所以,這時候你需要優(yōu)化與 Keepalive 相關(guān)的內(nèi)核選項,比如:

          縮短最后一次數(shù)據(jù)包到 Keepalive 探測包的間隔時間 net.ipv4.tcp_keepalive_time;

          縮短發(fā)送 Keepalive 探測包的間隔時間 net.ipv4.tcp_keepalive_intvl;

          減少 Keepalive 探測失敗后,一直到通知應(yīng)用程序前的重試次數(shù) net.ipv4.tcp_keepalive_probes。


                  
          總結(jié)
          企業(yè)linux 性能優(yōu)化從來不是一件容易的事,對于運維工程師來說是繞不過去的坎,這也是運維知識體系中最底層并且最難的一部分。想要學(xué)習(xí)好性能分析和優(yōu)化,需要建立整體系統(tǒng)性能的全局觀,需要理解CPU、內(nèi)存、磁盤、網(wǎng)絡(luò)的原理,掌握需要收集哪些監(jiān)控的指標(biāo),以及熟練使用各種工具來分析和追蹤以及定位問題。

          瀏覽 108
          1點贊
          評論
          收藏
          分享

          手機掃一掃分享

          分享
          舉報
          評論
          圖片
          表情
          推薦
          1點贊
          評論
          收藏
          分享

          手機掃一掃分享

          分享
          舉報
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  久久亚洲AV成人无码国产人妖 | 俺也去电影网 | 午夜鲁丝| 无码AV免费观看 | 欧美操逼视频黄片免费看 |