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

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

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

3天內不再提示

手把手教你如何調優Linux網絡參數

馬哥Linux運維 ? 來源:CSDN技術社區 ? 2025-05-29 09:21 ? 次閱讀

引言

在高并發網絡服務場景中,Linux內核的默認網絡參數往往無法滿足需求,導致性能瓶頸、連接超時甚至服務崩潰。本文基于真實案例分析,從參數解讀、問題診斷到優化實踐,手把手教你如何調優Linux網絡參數,支撐百萬級并發連接。

一、問題背景:當并發連接遇上性能瓶頸

1.1 案例環境

? 服務器配置:

vCPU: 8核 | 內存: 16GB | 網絡帶寬: 4Gbps | PPS: 80萬

? 觀測到的異常現象:

?TIME_WAIT連接堆積(2464個)

? 存在CLOSE_WAIT連接(4個)

? 偶發新連接建立超時

1.2 初始參數分析

通過sysctl查看到的原始配置:

net.core.somaxconn = 65535
net.ipv4.tcp_max_syn_backlog = 8192
net.ipv4.tcp_max_tw_buckets = 131072
net.ipv4.ip_local_port_range = 1024 61999

關鍵缺陷:半連接隊列小、端口范圍窄、緩沖區限制嚴。

二、深度診斷:連接狀態與內核參數

2.1 連接狀態監控技巧

實時統計TCP狀態

watch -n 1'netstat -ant | awk '''/^tcp/ {++S[$NF]} END {for(a in S) print a, S[a]}''''

輸出示例:

ESTABLISHED 790
TIME_WAIT 2464
SYN_RECV 32 # 半連接重點關注!

半連接專項檢查

# 查看SYN_RECV連接詳情
ss -ntp state syn-recv
# 監控隊列溢出
netstat -s | grep -i'listen drops'

2.2 關鍵參數解讀

參數 作用 默認值問題
tcp_max_syn_backlog 半連接隊列長度 8192(突發流量易滿)
somaxconn 全連接隊列長度 需與應用backlog參數匹配
tcp_tw_reuse 快速復用TIME_WAIT端口 默認關閉(導致端口耗盡)
tcp_rmem /tcp_wmem 讀寫緩沖區大小 最大值僅6MB(影響吞吐)

三、調優方案:從參數到實踐

3.1 連接管理優化

解決TIME_WAIT堆積

echo"net.ipv4.tcp_tw_reuse = 1">> /etc/sysctl.conf
echo"net.ipv4.tcp_max_tw_buckets = 262144">> /etc/sysctl.conf
echo"net.ipv4.ip_local_port_range = 1024 65000">> /etc/sysctl.conf

縮短連接回收時間

echo"net.ipv4.tcp_fin_timeout = 30">> /etc/sysctl.conf

3.2 隊列與緩沖區優化

擴大連接隊列

echo"net.ipv4.tcp_max_syn_backlog = 65535">> /etc/sysctl.conf
echo"net.core.somaxconn = 65535">> /etc/sysctl.conf
echo"net.core.netdev_max_backlog = 10000">> /etc/sysctl.conf

調整內存緩沖區

cat>> /etc/sysctl.conf <

3.3 Keepalive與超時優化

echo"net.ipv4.tcp_keepalive_time = 600">> /etc/sysctl.conf
echo"net.ipv4.tcp_keepalive_intvl = 30">> /etc/sysctl.conf

四、驗證與監控

4.1 實時監控腳本

連接狀態看板

#!/bin/bash
whiletrue;do
 clear
date
echo"---- TCP狀態 ----"
 netstat -ant | awk'/^tcp/ {++S[$NF]} END {for(a in S) print a, S[a]}'
echo"---- 半連接隊列 ----"
 ss -ltn | awk'NR>1 {print "Listen隊列: Recv-Q="$2", Send-Q="$3}'
echo"---- 端口使用率 ----"
echo"已用端口:$(netstat -ant | grep -v LISTEN | awk '{print $4}' | cut -d: -f2 | sort -u | wc -l)/$((65000-1024))"
sleep5
done

內核告警規則(Prometheus示例)

alert:TCP_SYN_Dropped
expr:increase(node_netstat_Tcp_Ext_SyncookiesFailed{job="node"}[1m])>0
for:5m
labels:
severity:critical
annotations:
summary:"SYN隊列溢出 (實例{{ $labels.instance }})"

4.2 壓測建議

使用wrk模擬高并發:

wrk -t16 -c10000 -d60s http://service:8080

監控重點指標:

?SYN_RECV數量波動

?netstat -s中的丟包計數

? 內存使用率(free -m)

五、避坑指南

5.1 常見誤區

1. 盲目啟用tcp_tw_recycle
NAT環境下會導致連接失敗(已從Linux 4.12移除)

2. 緩沖區過大引發OOM
需根據內存調整tcp_mem:

# 計算安全值(單位:頁,1頁=4KB)
echo$(( $(free -m | awk '/Mem:/ {print$2}') *1024/4/3)) >> /proc/sys/net/ipv4/tcp_mem

5.2 參數依賴關系

?somaxconn需≥應用層的backlog
例如Nginx需同步調整:

listen80backlog=65535;

六、總結

通過本文的調優實踐,我們實現了:

1. TIME_WAIT連接減少70%

2. 最大并發連接數提升至3萬+

3. 網絡吞吐量增長2倍

鏈接:https://blog.csdn.net/weixin_44976692/article/details/147836227

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

    關注

    3

    文章

    1412

    瀏覽量

    41189
  • Linux
    +關注

    關注

    87

    文章

    11479

    瀏覽量

    213070
  • 服務器
    +關注

    關注

    13

    文章

    9730

    瀏覽量

    87470
  • 網絡
    +關注

    關注

    14

    文章

    7783

    瀏覽量

    90537

原文標題:Linux高并發場景下的網絡參數調優實戰指南

文章出處:【微信號:magedu-Linux,微信公眾號:馬哥Linux運維】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦
    熱點推薦

    手把手教你學單片機c語言》視頻教程

    `《手把手教你學單片機C語言》視頻教程電驢、酷、迅雷等下載地址《手把手教你學單片機c語言》視頻教程,持續更新中,下載地址更新了,與學習單片
    發表于 10-26 14:14

    手把手教你使用QUARTUS

    手把手教你使用QUARTUS
    發表于 12-29 20:35

    手把手教你構建一個完整的工程

    手把手教你構建一個完整的工程
    發表于 08-03 09:54 ?33次下載
    <b class='flag-5'>手把手</b><b class='flag-5'>教你</b>構建一個完整的工程

    手把手教你寫批處理-批處理的介紹

    手把手教你寫批處理-批處理的介紹
    發表于 10-25 15:02 ?69次下載

    美女手把手教你如何裝機(中)

    美女手把手教你如何裝機(中) 再來是硬碟的部份,這款機殼還不錯,可以旋轉支架~
    發表于 01-27 11:14 ?1515次閱讀

    美女手把手教你如何裝機(下)

    美女手把手教你如何裝機(下) 接著下來就是今天的重頭戲,開核蘿!~
    發表于 01-27 11:16 ?3011次閱讀

    手把手教你學習FPGA—LED篇

    電子專業單片機相關知識學習教材資料——手把手教你學習FPGA—LED篇
    發表于 08-08 17:19 ?0次下載

    手把手教你學電子書制作

    手把手教你學電子書制作,可以自己DIY電子書
    發表于 09-13 11:26 ?0次下載

    手把手教你安裝Quartus II

    本章手把手把教你如何安裝 Quartus II 軟件 ,并將它激活 。此外 還有USB -Blaster下載器的驅動安裝步驟 。
    發表于 09-18 14:55 ?9次下載

    手把手教你在家搭建監控系統

    手把手教你在家搭建監控系統
    發表于 01-17 19:47 ?28次下載

    手把手教你做電子時鐘---前言

    手把手教你做彩鈴電子時鐘
    發表于 11-14 16:53 ?11次下載

    手把手教你如何開始DSP編程

    手把手教你如何開始DSP編程。
    發表于 04-09 11:54 ?13次下載
    <b class='flag-5'>手把手</b><b class='flag-5'>教你</b>如何開始DSP編程

    手把手教你學LabVIEW視覺設計

    手把手教你學LabVIEW視覺設計手把手教你學LabVIEW視覺設計手把手教你學LabVIEW視
    發表于 03-06 01:41 ?3315次閱讀

    手把手教你開關電源PCB排板

    手把手教你開關電源PCB排板(新型電源技術)-分享一下開關電源PCB排板的基本要點及分析,以及例子講解。絕對的手把手
    發表于 09-18 12:27 ?61次下載
    <b class='flag-5'>手把手</b><b class='flag-5'>教你</b>開關電源PCB排板

    手把手教你學FPGA仿真

    電子發燒友網站提供《手把手教你學FPGA仿真.pdf》資料免費下載
    發表于 10-19 09:17 ?2次下載
    <b class='flag-5'>手把手</b><b class='flag-5'>教你</b>學FPGA仿真
    主站蜘蛛池模板: 康熙古代高h细节肉爽文全文 | 九九视频只有精品 | 正在播放国产女免费 | 欧美日韩国产另类一区二区三区 | 亚洲国产日韩欧美在线as乱码 | 99久久99这里只有免费费精品 | 午夜丁香婷婷 | 欧美国产日本高清不卡 | 国产综合图区 | 黄色在线视频免费 | 美女扒开尿口给男人桶爽视频 | 五月天婷婷网亚洲综合在线 | 在线观看视频高清视频 | 五月天激情在线 | 人人天天爱天天做天天摸 | 岛国大片在线播放 | 国产精品免费看久久久香蕉 | 美女中出视频 | 玖玖福利| 性做久久久久久久免费看 | 丁香婷五月 | 好吊788gaoco| 四虎4hu影库永久地址 | 久久人人爽爽爽人久久久 | 中文字幕国产一区 | 激情综合网色播五月 | 在线播放一区二区三区 | 亚洲第一视频网 | www.碰| 琪琪午夜免费影院在线观看 | 1v1高h肉爽文bl | 日本不卡一区 | 欧美a在线 | 日韩在线天堂免费观看 | 老师你好滑下面好湿h | 亚洲视频一区网站 | 五月婷婷在线免费观看 | 中国女人a毛片免费全部播放 | 美女用手扒开尿口给男生桶爽 | 日本口工禁漫画无遮挡全彩 | 手机看福利片 |