91欧美超碰AV自拍|国产成年人性爱视频免费看|亚洲 日韩 欧美一厂二区入|人人看人人爽人人操aV|丝袜美腿视频一区二区在线看|人人操人人爽人人爱|婷婷五月天超碰|97色色欧美亚州A√|另类A√无码精品一级av|欧美特级日韩特级

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

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

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

Linux內(nèi)核參數(shù)調(diào)優(yōu)方案

馬哥Linux運(yùn)維 ? 來(lái)源:馬哥Linux運(yùn)維 ? 2025-08-06 17:50 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

Linux內(nèi)核參數(shù)調(diào)優(yōu):為K8s節(jié)點(diǎn)優(yōu)化網(wǎng)絡(luò)性能

在高并發(fā)微服務(wù)環(huán)境中,網(wǎng)絡(luò)性能往往成為K8s集群的瓶頸。本文將深入探討如何通過(guò)精細(xì)化的Linux內(nèi)核參數(shù)調(diào)優(yōu),讓你的K8s節(jié)點(diǎn)網(wǎng)絡(luò)性能提升30%以上。

引言:為什么網(wǎng)絡(luò)調(diào)優(yōu)如此重要?

作為一名在生產(chǎn)環(huán)境中維護(hù)過(guò)數(shù)千節(jié)點(diǎn)K8s集群的運(yùn)維工程師,我深知網(wǎng)絡(luò)性能對(duì)整個(gè)容器生態(tài)的重要性。一個(gè)未經(jīng)優(yōu)化的K8s節(jié)點(diǎn),在高負(fù)載場(chǎng)景下可能出現(xiàn):

? Pod間通信延遲激增

? 服務(wù)發(fā)現(xiàn)響應(yīng)緩慢

? 負(fù)載均衡器連接超時(shí)

? CNI插件性能下降

今天,我將分享在生產(chǎn)環(huán)境中驗(yàn)證過(guò)的內(nèi)核參數(shù)調(diào)優(yōu)方案,幫助你徹底解決這些問(wèn)題。

核心網(wǎng)絡(luò)子系統(tǒng)調(diào)優(yōu)策略

1. TCP連接優(yōu)化:應(yīng)對(duì)高并發(fā)場(chǎng)景

在微服務(wù)架構(gòu)中,服務(wù)間頻繁的短連接是性能殺手。以下參數(shù)可以顯著改善TCP連接處理能力:

# /etc/sysctl.d/k8s-network.conf

# TCP連接隊(duì)列優(yōu)化
net.core.somaxconn = 65535
net.core.netdev_max_backlog = 5000
net.ipv4.tcp_max_syn_backlog = 65535

# 快速回收TIME_WAIT連接
net.ipv4.tcp_tw_reuse = 1
net.ipv4.tcp_fin_timeout = 30

# TCP窗口縮放
net.ipv4.tcp_window_scaling = 1
net.ipv4.tcp_rmem = 4096 65536 16777216
net.ipv4.tcp_wmem = 4096 65536 16777216

調(diào)優(yōu)原理

?somaxconn控制listen隊(duì)列長(zhǎng)度,默認(rèn)128遠(yuǎn)不夠用

?netdev_max_backlog優(yōu)化網(wǎng)卡接收隊(duì)列

?tcp_tw_reuse允許重用TIME_WAIT狀態(tài)的socket

2. 緩沖區(qū)調(diào)優(yōu):提升吞吐量

網(wǎng)絡(luò)緩沖區(qū)大小直接影響數(shù)據(jù)傳輸效率,特別是在容器密集部署場(chǎng)景:

# 核心網(wǎng)絡(luò)緩沖區(qū)
net.core.rmem_default = 262144
net.core.rmem_max = 134217728
net.core.wmem_default = 262144 
net.core.wmem_max = 134217728

# UDP緩沖區(qū)優(yōu)化
net.core.netdev_budget = 600
net.core.netdev_max_backlog = 5000

生產(chǎn)經(jīng)驗(yàn):在一個(gè)擁有500+ Pod的節(jié)點(diǎn)上,將接收緩沖區(qū)從默認(rèn)的87380字節(jié)調(diào)整到16MB后,網(wǎng)絡(luò)吞吐量提升了約40%。

3. 連接跟蹤優(yōu)化:解決NAT性能瓶頸

K8s的Service機(jī)制依賴(lài)iptables/IPVS進(jìn)行NAT轉(zhuǎn)換,連接跟蹤表是關(guān)鍵:

# 連接跟蹤表優(yōu)化
net.netfilter.nf_conntrack_max = 1048576
net.netfilter.nf_conntrack_buckets = 262144
net.netfilter.nf_conntrack_tcp_timeout_established = 1200

# 減少連接跟蹤開(kāi)銷(xiāo)
net.netfilter.nf_conntrack_tcp_timeout_time_wait = 30
net.netfilter.nf_conntrack_tcp_timeout_close_wait = 15

注意事項(xiàng):conntrack表過(guò)小會(huì)導(dǎo)致"nf_conntrack: table full"錯(cuò)誤,建議按照Pod數(shù)量×預(yù)期連接數(shù)來(lái)計(jì)算。

高級(jí)調(diào)優(yōu)技巧

4. 中斷親和性設(shè)置

多隊(duì)列網(wǎng)卡的中斷分布對(duì)性能影響巨大:

#!/bin/bash
# 網(wǎng)卡中斷均衡腳本
INTERFACE="eth0"
CPU_CORES=$(nproc)

# 獲取網(wǎng)卡隊(duì)列數(shù)
QUEUES=$(ls/sys/class/net/$INTERFACE/queues/ | grep rx- |wc-l)

# 將中斷綁定到不同CPU核心
for((i=0; i<$QUEUES; i++));?do
? ? IRQ=$(grep?"$INTERFACE-rx-$i"?/proc/interrupts |?cut?-d: -f1 |?tr?-d?' ')
? ? CPU=$((i %?$CPU_CORES))
? ??echo?$((1?< /proc/irq/$IRQ/smp_affinity
done

5. 容器網(wǎng)絡(luò)命名空間優(yōu)化

針對(duì)容器環(huán)境的特殊優(yōu)化:

# 容器網(wǎng)絡(luò)棧優(yōu)化
net.ipv4.ip_forward = 1
net.bridge.bridge-nf-call-iptables = 1
net.bridge.bridge-nf-call-ip6tables = 1

# IPv4路由緩存
net.ipv4.route.gc_timeout = 100
net.ipv4.route.max_size = 2147483647

# ARP表優(yōu)化
net.ipv4.neigh.default.gc_thresh1 = 1024
net.ipv4.neigh.default.gc_thresh2 = 4096 
net.ipv4.neigh.default.gc_thresh3 = 8192

實(shí)戰(zhàn)案例分析

場(chǎng)景1:電商秒殺系統(tǒng)

問(wèn)題:在某電商平臺(tái)的秒殺活動(dòng)中,K8s集群出現(xiàn)大量Pod間通信超時(shí)。

診斷過(guò)程

# 檢查連接狀態(tài)分布
ss -tan | awk'{print $1}'|sort|uniq-c

# 監(jiān)控網(wǎng)絡(luò)隊(duì)列丟包
cat/proc/net/softnet_stat

# 查看連接跟蹤表使用情況 
cat/proc/sys/net/netfilter/nf_conntrack_count
cat/proc/sys/net/netfilter/nf_conntrack_max

解決方案

1. 增加TCP監(jiān)聽(tīng)隊(duì)列:net.core.somaxconn = 32768

2. 優(yōu)化連接跟蹤:nf_conntrack_max = 2097152

3. 啟用TCP快速回收:tcp_tw_reuse = 1

效果:P99響應(yīng)時(shí)間從2.5秒降低到300ms,連接超時(shí)率從15%降低到0.1%。

場(chǎng)景2:大數(shù)據(jù)批處理集群

挑戰(zhàn):Spark on K8s作業(yè)中Driver與Executor通信頻繁丟包。

優(yōu)化重點(diǎn)

# 專(zhuān)門(mén)針對(duì)大數(shù)據(jù)場(chǎng)景的調(diào)優(yōu)
net.core.rmem_max = 268435456  # 256MB接收緩沖區(qū)
net.core.wmem_max = 268435456  # 256MB發(fā)送緩沖區(qū)
net.ipv4.tcp_congestion_control = bbr # 使用BBR擁塞控制

結(jié)果:數(shù)據(jù)傳輸吞吐量提升65%,作業(yè)完成時(shí)間縮短30%。

監(jiān)控與驗(yàn)證

關(guān)鍵指標(biāo)監(jiān)控

使用Prometheus監(jiān)控調(diào)優(yōu)效果:

# network-metrics-exporter.yaml
apiVersion:v1
kind:ConfigMap
metadata:
name:network-metrics
data:
collect.sh:|
  #!/bin/bash
  echo "tcp_retrans_rate $(awk '{print $12/$5}' /proc/net/snmp | tail -1)"
  echo "tcp_socket_count $(ss -tan | wc -l)"
  echo "conntrack_usage $(cat /proc/sys/net/netfilter/nf_conntrack_count)"

性能驗(yàn)證腳本

#!/bin/bash
# 網(wǎng)絡(luò)性能測(cè)試腳本
echo"=== 網(wǎng)絡(luò)性能測(cè)試報(bào)告 ==="

# TCP連接建立速度測(cè)試
echo"TCP連接測(cè)試:"
timeforiin{1..1000};do
timeout1 bash -c"/dev/null
done

# 吞吐量測(cè)試
echo"網(wǎng)絡(luò)吞吐量測(cè)試:"
iperf3 -c target-pod-ip -t 30 -P 4

# 延遲測(cè)試 
echo"網(wǎng)絡(luò)延遲測(cè)試:"
ping -c 100 target-pod-ip |tail-1

最佳實(shí)踐總結(jié)

調(diào)優(yōu)清單

1.基礎(chǔ)優(yōu)化(必做)

? 增加連接隊(duì)列長(zhǎng)度

? 優(yōu)化TCP緩沖區(qū)大小

? 啟用連接復(fù)用

2.進(jìn)階優(yōu)化(推薦)

? 調(diào)整連接跟蹤參數(shù)

? 優(yōu)化中斷分布

? 啟用BBR擁塞控制

3.專(zhuān)項(xiàng)優(yōu)化(按需)

? 容器網(wǎng)絡(luò)棧調(diào)優(yōu)

? CNI插件專(zhuān)項(xiàng)優(yōu)化

? 服務(wù)網(wǎng)格性能調(diào)優(yōu)

注意事項(xiàng)

1.漸進(jìn)式調(diào)優(yōu):不要一次性修改所有參數(shù),建議分批驗(yàn)證

2.監(jiān)控先行:調(diào)優(yōu)前后都要有完整的性能監(jiān)控?cái)?shù)據(jù)

3.場(chǎng)景適配:不同業(yè)務(wù)場(chǎng)景需要不同的參數(shù)組合

4.備份配置:調(diào)優(yōu)前務(wù)必備份原始配置

結(jié)語(yǔ)

網(wǎng)絡(luò)性能調(diào)優(yōu)是一個(gè)持續(xù)迭代的過(guò)程,需要結(jié)合具體業(yè)務(wù)場(chǎng)景和監(jiān)控?cái)?shù)據(jù)來(lái)精細(xì)化調(diào)整。本文提供的參數(shù)配置在我們的生產(chǎn)環(huán)境中表現(xiàn)優(yōu)異,但建議你根據(jù)自己的集群特點(diǎn)進(jìn)行適配。

記住:沒(méi)有銀彈,只有最適合的方案。

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

    關(guān)注

    4

    文章

    1467

    瀏覽量

    42861
  • Linux
    +關(guān)注

    關(guān)注

    88

    文章

    11755

    瀏覽量

    218995
  • 網(wǎng)絡(luò)
    +關(guān)注

    關(guān)注

    14

    文章

    8249

    瀏覽量

    94665

原文標(biāo)題:Linux內(nèi)核參數(shù)調(diào)優(yōu):為K8s節(jié)點(diǎn)優(yōu)化網(wǎng)絡(luò)性能

文章出處:【微信號(hào):magedu-Linux,微信公眾號(hào):馬哥Linux運(yùn)維】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

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

掃碼添加小助手

加入工程師交流群

    評(píng)論

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

    如何對(duì)電機(jī)進(jìn)行調(diào)優(yōu)?調(diào)優(yōu)的好處是什么?

    如何自動(dòng)對(duì)電機(jī)進(jìn)行調(diào)優(yōu)
    的頭像 發(fā)表于 08-22 00:03 ?4018次閱讀

    linux內(nèi)核參數(shù)設(shè)置_linux內(nèi)核的功能有哪些

    本文主要闡述了linux內(nèi)核參數(shù)設(shè)置及linux內(nèi)核的功能。
    發(fā)表于 09-17 14:40 ?1702次閱讀
    <b class='flag-5'>linux</b><b class='flag-5'>內(nèi)核</b><b class='flag-5'>參數(shù)</b>設(shè)置_<b class='flag-5'>linux</b><b class='flag-5'>內(nèi)核</b>的功能有哪些

    Linux用電功耗調(diào)優(yōu)的筆記分享

    整理一些Linux用電功耗調(diào)優(yōu)的筆記,分享給小伙伴,關(guān)于用電調(diào)優(yōu)個(gè)人覺(jué)得
    的頭像 發(fā)表于 06-23 15:19 ?5575次閱讀

    linux網(wǎng)絡(luò)棧監(jiān)控及調(diào)優(yōu):數(shù)據(jù)接收

    linux 網(wǎng)絡(luò)棧的監(jiān)控及調(diào)優(yōu)上沒(méi)有捷徑可言,如果你想做有效的調(diào)優(yōu),就必須搞清楚各個(gè)系統(tǒng)之間是怎么交互的。
    的頭像 發(fā)表于 03-25 16:44 ?2591次閱讀

    Linux性能調(diào)優(yōu)常見(jiàn)工具和堆棧解析

    ? Linux系統(tǒng)性能調(diào)優(yōu)涉及多個(gè)方面,包括內(nèi)核參數(shù)調(diào)整、文件系統(tǒng)優(yōu)化、網(wǎng)絡(luò)設(shè)置等。 ? 1. 內(nèi)核
    的頭像 發(fā)表于 06-29 09:45 ?1709次閱讀
    <b class='flag-5'>Linux</b>性能<b class='flag-5'>調(diào)</b><b class='flag-5'>優(yōu)</b>常見(jiàn)工具和堆棧解析

    jvm調(diào)優(yōu)參數(shù)

    JVM(Java虛擬機(jī))是Java程序的運(yùn)行環(huán)境,它負(fù)責(zé)解釋Java字節(jié)碼并執(zhí)行相應(yīng)的指令。為了提高應(yīng)用程序的性能和穩(wěn)定性,我們可以調(diào)優(yōu)JVM的參數(shù)。 JVM調(diào)
    的頭像 發(fā)表于 12-05 11:29 ?1489次閱讀

    jvm參數(shù)的設(shè)置和jvm調(diào)優(yōu)

    JVM(Java虛擬機(jī))參數(shù)的設(shè)置和調(diào)優(yōu)對(duì)于提高Java應(yīng)用程序的性能和穩(wěn)定性非常重要。在本文中,我們將詳細(xì)介紹JVM參數(shù)的設(shè)置和調(diào)
    的頭像 發(fā)表于 12-05 11:36 ?2890次閱讀

    深度解析JVM調(diào)優(yōu)實(shí)踐應(yīng)用

    Tomcat自身的調(diào)優(yōu)是針對(duì)conf/server.xml中的幾個(gè)參數(shù)調(diào)優(yōu)設(shè)置。首先是對(duì)這幾個(gè)參數(shù)
    的頭像 發(fā)表于 04-01 10:24 ?1328次閱讀
    深度解析JVM<b class='flag-5'>調(diào)</b><b class='flag-5'>優(yōu)</b>實(shí)踐應(yīng)用

    linux內(nèi)核常用調(diào)優(yōu)參數(shù)

     1. vm.swappiness:該參數(shù)控制系統(tǒng)在內(nèi)存不足時(shí),內(nèi)核將頁(yè)面交換到磁盤(pán)的程度。默認(rèn)值為60,建議值為10-30。   2. vm.overcommit_memory:該參數(shù)控制系統(tǒng)是否允許超額分配內(nèi)存。默認(rèn)值
    的頭像 發(fā)表于 04-01 10:31 ?3629次閱讀

    xgboost超參數(shù)調(diào)優(yōu)技巧 xgboost在圖像分類(lèi)中的應(yīng)用

    一、XGBoost超參數(shù)調(diào)優(yōu)技巧 XGBoost(eXtreme Gradient Boosting)是一種基于梯度提升決策樹(shù)(GBDT)的高效梯度提升框架,在機(jī)器學(xué)習(xí)競(jìng)賽和實(shí)際業(yè)務(wù)應(yīng)用中取得了卓越
    的頭像 發(fā)表于 01-31 15:16 ?2554次閱讀

    Linux TCP內(nèi)核參數(shù)設(shè)置與調(diào)優(yōu)

    Linux內(nèi)核中的TCP參數(shù) /proc/sys/net/ipv4/ /proc/sys/net/ipv4/存放著TCP參數(shù)的文件,目錄中的內(nèi)容用來(lái)添加網(wǎng)絡(luò)設(shè)置,在其中的許多設(shè)置,可以
    的頭像 發(fā)表于 01-22 10:36 ?1535次閱讀
    <b class='flag-5'>Linux</b> TCP<b class='flag-5'>內(nèi)核</b>的<b class='flag-5'>參數(shù)</b>設(shè)置與<b class='flag-5'>調(diào)</b><b class='flag-5'>優(yōu)</b>

    手把手教你如何調(diào)優(yōu)Linux網(wǎng)絡(luò)參數(shù)

    在高并發(fā)網(wǎng)絡(luò)服務(wù)場(chǎng)景中,Linux內(nèi)核的默認(rèn)網(wǎng)絡(luò)參數(shù)往往無(wú)法滿(mǎn)足需求,導(dǎo)致性能瓶頸、連接超時(shí)甚至服務(wù)崩潰。本文基于真實(shí)案例分析,從參數(shù)解讀、問(wèn)題診斷到優(yōu)化實(shí)踐,手把手教你如何
    的頭像 發(fā)表于 05-29 09:21 ?956次閱讀

    Linux系統(tǒng)性能調(diào)優(yōu)方案

    關(guān)鍵要點(diǎn)預(yù)覽:本文將深入解析Linux系統(tǒng)性能瓶頸的根本原因,提供可直接落地的調(diào)優(yōu)方案,讓你的系統(tǒng)性能提升30-50%!
    的頭像 發(fā)表于 08-06 17:49 ?870次閱讀

    Linux網(wǎng)絡(luò)性能調(diào)優(yōu)方案

    在當(dāng)今高并發(fā)、大流量的互聯(lián)網(wǎng)環(huán)境下,網(wǎng)絡(luò)性能往往成為系統(tǒng)的瓶頸。作為一名資深運(yùn)維工程師,我在生產(chǎn)環(huán)境中遇到過(guò)無(wú)數(shù)次因?yàn)門(mén)CP/IP參數(shù)配置不當(dāng)導(dǎo)致的性能問(wèn)題。今天分享一套完整的Linux網(wǎng)絡(luò)性能調(diào)
    的頭像 發(fā)表于 08-06 18:01 ?1322次閱讀

    Linux系統(tǒng)內(nèi)核參數(shù)調(diào)優(yōu)實(shí)戰(zhàn)指南

    Linux 內(nèi)核參數(shù)調(diào)優(yōu)是系統(tǒng)性能優(yōu)化的核心環(huán)節(jié)。隨著云原生架構(gòu)的普及和硬件性能的飛速提升,默認(rèn)的內(nèi)核
    的頭像 發(fā)表于 01-28 14:27 ?417次閱讀