精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

Linux上TCP的幾個內核參數調優

系統 Linux
Linux作為一個強大的操作系統,提供了一系列內核參數供我們進行調優。光TCP的調優參數就有50多個。在和線上問題斗智斗勇的過程中,筆者積累了一些在內網環境應該進行調優的參數。

Linux作為一個強大的操作系統,提供了一系列內核參數供我們進行調優。光TCP的調優參數就有50多個。在和線上問題斗智斗勇的過程中,筆者積累了一些在內網環境應該進行調優的參數。在此分享出來,希望對大家有所幫助。

調優清單

好了,在這里先列出調優清單。請記住,這里只是筆者在內網進行TCP內核參數調優的經驗,僅供參考。同時,筆者還會在余下的博客里面詳細解釋了為什么要進行這些調優!

序號

內核參數

備注

1.1

/proc/sys/inet/ipv4/tcp_max_syn_backlog

2048


1.2

/proc/sys/net/core/somaxconn

2048


1.3

/proc/sys/net/ipv4/tcp_abort_on_overflow

1


2.1

/proc/sys/net/ipv4/tcp_tw_recycle

0

NAT環境必須為0

2.2

/proc/sys/net/ipv4/tcp_tw_reuse

1


3.1

/proc/sys/net/ipv4/tcp_syn_retries

3


3.2

/proc/sys/net/ipv4/tcp_retries2

5


3.3

/proc/sys/net/ipv4/tcp_slow_start_after_idle

0


當然了,這里只列出TCP的部分內核參數,更多web性能上的建議,請看

tcp_max_syn_backlog,somaxconn,tcp_abort_on_overflow

tcp_max_syn_backlog,somaxconn,tcp_abort_on_overflow這三個參數是關于

內核TCP連接緩沖隊列的設置。如果應用層來不及將已經三次握手建立成功的TCP連接從隊列中取出,溢出了這個緩沖隊列(全連接隊列)之后就會丟棄這個連接。如下圖所示:

從而產生一些詭異的現象,這個現象詭異之處就在于,是在TCP第三次握手的時候丟棄連接

就如圖中所示,第二次握手的SYNACK發送給client端了。所以就會出現client端認為連接成功,而Server端確已經丟棄了這個連接的現象!由于無法感知到Server已經丟棄了連接。

所以如果沒有心跳的話,只有在發出第一個請求后,Server才會發送一個reset端通知這個連接已經被丟棄了,建立連接后第二天再用,也會報錯!所以我們要調大Backlog隊列!

echo 2048 > /proc/sys/inet/ipv4/tcp_max_syn_backlog
echo 2048 > /proc/sys/net/core/somaxconn

當然了,為了盡量避免第一筆調用失敗問題,我們也同時要設置

echo 1 > /proc/sys/net/ipv4/tcp_abort_on_overflow

設置這個值以后,Server端內核就會在這個連接被溢出之后發送一個reset包給client端。

如果我們的client端是NIO的話,就可以收到一個socket close的事件以感知到連接被關閉!

注意Java默認的Backlog是50

這個TCP Backlog的隊列大小值是min(tcp_max_syn_backlog,somaxconn,應用層設置的backlog),而Java如果不做額外設置,Backlog默認值僅僅只有50。C語言在使用listen調用的時候需要傳進Backlog參數。

tcp_tw_recycle

tcp_tw_recycle這個參數一般是用來抑制TIME_WAIT數量的,但是它有一個副作用。即在tcp_timestamps開啟(Linux默認開啟),tcp_tw_recycle會經常導致下面這種現象。

也即,如果你的Server開啟了tcp_tw_recycle,那么別人如果通過NAT之類的調用你的Server的話,NAT后面的機器只有一臺機器能正常工作,其它情況大概率失敗。具體原因呢由下圖所示:

在tcp_tw_recycle=1同時tcp_timestamps(默認開啟的情況下),對同一個IP的連接會做這樣的限制,也即之前后建立的連接的時間戳必須要大于之前建立連接的最后時間戳,但是經過NAT的一個IP后面是不同的機器,時間戳相差極大,就會導致內核直接丟棄時間戳較低的連接的現象。由于這個參數導致的問題,高版本內核已經去掉了這個參數。如果考慮TIME_WAIT問題,可以考慮設置一下

echo 1 > /proc/sys/net/ipv4/tcp_tw_reuse

tcp_syn_retries

這個參數值得是client發送SYN如果server端不回復的話,重傳SYN的次數。對我們的直接影響呢就是connet建立連接時的超時時間。當然Java通過一些C原生系統調用的組合使得我們可以進行超時時間的設置。在Linux里面默認設置是5,下面給出建議值3和默認值5之間的超時時間。


tcp_syn_retries

timeout

1

min(so_sndtimeo,3s)

2

min(so_sndtimeo,7s)

3

min(so_sndtimeo,15s)

4

min(so_sndtimeo,31s)

5

min(so_sndtimeo,63s)

下圖給出了,重傳和超時情況的對應圖:

當然了,不同內核版本的超時時間可能不一樣,因為初始RTO在內核小版本間都會有細微的變化。所以,有時候在抓包時候可能會出現(3,6,12……)這樣的序列。當然Java的API有超時時間:

java:
// 函數調用中攜帶有超時時間
public void connect(SocketAddress endpoint, int timeout) ;

所以,對于Java而言,這個內核參數的設置沒有那么重要。但是,有些代碼可能會有忘了設置timeout的情況,例如某個版本的Kafka就是,所以它在我們一些混沌測試的情況下,容災恢復的時間會達到一分多鐘,主要時間就是卡在connect上面-_-!,而這時我們的tcp_syn_retries設置的是5,也即超時時間63s。減少這個恢復時間的手段就是:

echo 3 > /proc/sys/net/ipv4/tcp_syn_retries

tcp_retries2

這個參數表面意思是在傳輸過程中tcp的重傳次數。但在某個版本之后Linux內核僅僅用這個tcp_retries2來計算超時時間,在這段時間的重傳次數純粹由RTO等環境因素決定,重傳超時時間在5/15下的表現為:

tcp_retries2

對端無響應

5

25.6s-51.2s根據動態rto定

15

924.6s-1044.6s根據動態rto定

如果我們在應用層設置的Socket所有ReadTimeout都很小的話(例如3s),這個內核參數調整是沒有必要的。但是,筆者經常發現有的系統,因為一兩個慢的接口或者SQL,所以將ReadTimeout設的很大的情況。

平常這種情況是沒有問題的,因為慢請求頻率很低,不會對系統造成什么風險。但是,物理機突然宕機時候的情況就不一樣了,由于ReadTimeOut設置的過大,導致所有落到這臺宕機的機器都會在min(ReadTimeOut,(924.6s-1044.6s)(Linux默認tcp_retries2是15))后才能從read系統調用返回。假設ReadTimeout設置了個5min,系統總線程數是200,那么只要5min內有200個請求落到宕機的server就會使A系統失去響應!

但如果將tcp_retries2設置為5,那么超時返回時間即為min(ReadTimeOut 5min,25.6-51.2s),也就是30s左右,極大的緩解了這一情況。

echo 5 > /proc/sys/net/ipv4/tcp_retries2

但是針對這種現象,最好要做資源上的隔離,例如線程上的隔離或者機器級的隔離。

golang的goroutine調度模型就可以很好的解決線程資源不夠的問題,但缺點是goroutine里面不能有阻塞的系統調用,不然也會和上面一樣,但僅僅對于系統之間互相調用而言,都是非阻塞IO,所以golang做微服務還是非常Nice的。當然了我大Java用純IO事件觸發編寫代碼也不會有問題,就是對心智負擔太高-_-!

物理機突然宕機和進程宕不一樣

值得注意的是,物理機宕機和進程宕但內核還存在表現完全不一樣。

僅僅進程宕而內核存活,那么內核會立馬發送reset給對端,從而不會卡住A系統的線程資源。

tcp_slow_start_after_idle

還有一個可能需要調整的參數是tcp_slow_start_after_idle,Linux默認是1,即開啟狀態。開啟這個參數后,我們的TCP擁塞窗口會在一個RTO時間空閑之后重置為初始擁塞窗口(CWND)大小,這無疑大幅的減少了長連接的優勢。對應Linux源碼為:

static void tcp_event_data_sent(struct tcp_sock *tp,
struct sk_buff *skb, struct sock *sk){
// 如果開啟了start_after_idle,而且這次發送的時間-上次發送的時間>一個rto,就重置tcp擁塞窗口
if (sysctl_tcp_slow_start_after_idle &&
(!tp->packets_out && (s32)(now - tp->lsndtime) > icsk->icsk_rto))
tcp_cwnd_restart(sk, __sk_dst_get(sk));
}

關閉這個參數后,無疑會提高某些請求的傳輸速度(在帶寬夠的情況下)。

echo 0 > /proc/sys/net/ipv4/tcp_slow_start_after_idle

當然了,Linux啟用這個參數也是有理由的,如果我們的網絡情況是時刻在變化的,例如拿個手機到處移動,那么將擁塞窗口重置確實是個不錯的選項。但是就我們內網系統間調用而言,是不太必要的了。

初始CWND大小

毫無疑問,新建連接之后的初始TCP擁塞窗口大小也直接影響到我們的請求速率。在Linux2.6.32源碼中,其初始擁塞窗口是(2-4個)mss大小,對應于內網估計也就是(2.8-5.6K)(MTU 1500),這個大小對于某些大請求可能有點捉襟見肘。

在Linux 2.6.39以上或者某些RedHat維護的小版本中已經把CWND

增大到RFC 6928所規定的的10段,也就是在內網里面估計14K左右(MTU 1500)。

Linux 新版本/* TCP initial congestion window */#define TCP_INIT_CWND 10

總結

Linux提供了一大堆內參參數供我們進行調優,其默認設置的參數在很多情況下并不是最佳實踐,所以我們需要潛心研究,找到最適合當前環境的組合。


責任編輯:武曉燕 來源: 解Bug之路
相關推薦

2025-05-27 08:20:00

Linux內核參數調優系統

2009-08-07 10:28:03

2013-03-20 17:30:18

2011-03-31 13:40:34

2010-09-25 15:52:27

JVM內存JVM

2011-03-18 11:21:48

2023-11-10 11:23:20

JVM內存

2025-01-17 09:23:31

2019-09-18 08:53:55

2020-01-06 11:22:06

TCPLinux內核

2010-09-25 13:05:07

JVM參數

2021-03-26 06:05:17

Tomcat

2010-03-04 10:56:52

JVM參數

2013-11-20 10:48:47

Linux內核GRUB內核參數

2021-01-22 11:18:58

Python機器學習超參數

2025-10-13 02:11:00

2011-03-10 14:40:54

LAMPMysql

2012-01-10 14:35:08

JavaJVM

2024-07-16 16:13:14

2010-09-17 17:02:24

JVM參數
點贊
收藏

51CTO技術棧公眾號

国产成人精品一区二三区四区五区| 午夜dv内射一区二区| 成人黄色免费视频| 最新国产拍偷乱拍精品 | 亚洲午夜在线播放| 99精品综合| 亚洲国产精品国自产拍av秋霞 | 成人av福利| 福利一区二区在线观看| 国产99久久精品一区二区| 国产白丝一区二区三区 | 欧美一区二区三区在线视频| 国产 欧美 日韩 一区| 女人天堂在线| 国产精品99久久久久| 人人爽久久涩噜噜噜网站| 99鲁鲁精品一区二区三区| 天海翼精品一区二区三区| 欧美男女性生活在线直播观看| 91亚洲精品国产| 成人网视频在线观看| 大胆亚洲人体视频| 国产中文字幕91| 一级片中文字幕| 亚洲精品91| 在线精品高清中文字幕| 永久免费未满蜜桃| 91精品一区| 在线视频欧美精品| 欧美一区二区中文字幕| av片在线观看网站| 国产精品日韩精品欧美在线| 国产中文一区二区| www.成人精品| 久久er99热精品一区二区| 欧洲成人免费aa| 久久久一二三区| 亚洲自拍偷拍网| 中文字幕日韩在线播放| 国产精品扒开腿做爽爽| 动漫3d精品一区二区三区乱码| 777午夜精品视频在线播放| 欧美aⅴ在线观看| av影视在线看| 一区二区三区91| xxxxxx在线观看| 巨大荫蒂视频欧美另类大| 日本一区二区成人| 欧美亚洲免费在线| 三级毛片在线免费看| www.日韩av| 国产亚洲福利社区| 人妻视频一区二区三区| 成人爽a毛片一区二区免费| 亚洲www在线| 国产精品久久久久久久久久久久久久久久| 免费黄网站欧美| 国产精品免费福利| 亚洲天天综合网| 麻豆精品视频在线| 91久久精品国产91性色| 国产精品一区二区免费视频| 久久 天天综合| 91久久精品国产91久久性色| av小说天堂网| 国产91在线|亚洲| 国产精品免费一区二区| 欧洲精品久久一区二区| 91丨九色丨黑人外教| 欧美成人dvd在线视频| 男人久久精品| 欧美国产激情一区二区三区蜜月| 视频在线精品一区| 久操视频在线播放| 亚洲综合一二区| 欧美黑人经典片免费观看| 久久影院午夜精品| 色噜噜狠狠色综合欧洲selulu| 欧美丰满熟妇xxxxx| 97欧美成人| 日韩视频免费观看高清完整版在线观看 | 欧美伊人久久久久久久久影院| 国产精品igao| 91精品网站在线观看| 亚洲成人网久久久| 自拍偷拍中文字幕| 天天色综合色| 久久噜噜噜精品国产亚洲综合| 日韩xxx高潮hd| 久久天天综合| 亚洲一区二区久久久久久| 懂色av一区二区三区四区| 久久午夜电影网| 中文字幕一区二区三区乱码 | 午夜精品久久久99热福利| 久久亚洲精品国产| 麻豆精品在线视频| 国产99视频精品免费视频36| 日韩午夜影院| ...中文天堂在线一区| av在线com| 欧美三区四区| 日韩免费视频线观看| 熟女少妇一区二区三区| 66视频精品| 日韩av第一页| www.xxx国产| 欧美激情中文字幕一区二区| 青春草在线视频免费观看| 岛国av在线播放| 欧美军同video69gay| 日b视频在线观看| 亚州av乱码久久精品蜜桃| 97视频免费观看| 99热这里只有精品66| 久久综合九色综合97婷婷女人| 亚洲天堂av免费在线观看| 最近在线中文字幕| 日韩午夜在线播放| 日本理论中文字幕| 亚洲精品麻豆| 亚洲一区久久久| a视频网址在线观看| 天天av天天翘天天综合网色鬼国产 | 欧美日韩mp4| 成人手机在线免费视频| 亚洲综合中文| 国产日韩欧美视频| 九色在线播放| 欧美日韩激情视频8区| 黄色片子免费看| 久久亚洲影视| 国产91在线播放精品91| 天天躁日日躁狠狠躁喷水| 亚洲少妇中出一区| a在线观看免费视频| 亚洲精品蜜桃乱晃| 久久全球大尺度高清视频| 国产精品伦一区二区三区| 国产日韩欧美精品一区| 六月丁香婷婷激情| 麻豆一区二区| 久久久女人电视剧免费播放下载| jlzzjlzzjlzz亚洲人| 一区二区中文字幕在线| 欧美日韩中文不卡| 青青草国产成人a∨下载安卓| 国产91色在线免费| 精品无人乱码| 在线亚洲欧美专区二区| 日本成人免费视频| 久久精品观看| 日韩精品久久久毛片一区二区| 日韩激情电影免费看| 亚洲黄色www| 国产成人免费观看视频 | 午夜在线一区二区| 麻豆传媒一区二区| 欧美xx视频| 亚洲人成在线观看网站高清| 免费在线不卡视频| 91麻豆福利精品推荐| 精品中文字幕av| 性欧美xxxx免费岛国不卡电影| 69久久夜色精品国产69| 色综合成人av| 在线看国产日韩| 亚洲色图欧美色| 精品一区二区免费看| 亚洲精品在线视频观看| 视频欧美精品| 欧美成人精品xxx| 免费a级片在线观看| 精品日韩美女的视频高清 | 国产精品免费久久久久| 色91精品久久久久久久久| 亚洲精品一区二区妖精| 不卡日韩av| 英国三级经典在线观看| 这里只有精品久久| 国产欧美日韩综合精品一区二区三区| 亚洲精品一二三四区| 99热超碰在线| 日韩成人伦理电影在线观看| 伊人久久大香线蕉av一区| 日韩黄色av| 青草青草久热精品视频在线网站 | 久久国产精品免费视频| 日本精品一二区| 在线影视一区二区三区| 黑鬼狂亚洲人videos| www.视频一区| 国产一区二区在线免费播放| 欧美在线观看天堂一区二区三区| 激情小说网站亚洲综合网 | 国产乱码精品| 一区二区三区在线观看www| 99精品中文字幕在线不卡 | 2020日本不卡一区二区视频| 91国产精品视频在线观看| 欧美一区二区三区久久精品| 精品一区日韩成人| 亚洲在线资源| 91精品国产91久久久久福利| 3p在线观看| 亚洲娇小xxxx欧美娇小| 久久影视中文字幕| 亚洲福利视频一区| www中文在线| 91在线国产福利| 日韩av福利在线观看| 欧美亚洲自偷自偷| 国产美女作爱全过程免费视频| 激情五月色综合国产精品| 亚洲一区国产精品| 欧美日韩尤物久久| 97国产精品视频| av在线app| 自拍偷拍亚洲区| 亚洲色图欧美视频| 日韩精品资源二区在线| 亚洲熟女乱色一区二区三区久久久| 五月婷婷久久综合| 欧美精品久久久久性色| 国产精品国产三级国产普通话99 | 在线免费看91| 日本高清不卡一区| 天天操中文字幕| 亚洲成人自拍一区| 免费日韩在线视频| 自拍偷拍亚洲激情| 日本女人性生活视频| 国产网站一区二区| 国产精品无码一区二区三区| 成人免费av在线| 国产精久久久久| 国产老妇另类xxxxx| 天堂av.com| 国产在线国偷精品产拍免费yy| 三上悠亚在线一区二区| 日本成人中文字幕在线视频| 999精品网站| 久久xxxx精品视频| 欧美激情精品久久久久久小说| 亚洲欧美日韩精品一区二区| 国产成人无码a区在线观看视频| 一区二区亚洲| 狠狠干 狠狠操| 亚洲一级在线| 农村妇女精品一二区| 美女久久一区| 婷婷激情四射五月天| 免费一级欧美片在线观看| 九一精品在线观看| 日本麻豆一区二区三区视频| 亚洲第一狼人区| 毛片基地黄久久久久久天堂| 国产视频在线视频| 日本成人中文字幕| 被灌满精子的波多野结衣| 亚洲区一区二| 精品少妇一区二区三区在线| 鲁大师成人一区二区三区| 日韩av三级在线| 一道本一区二区| 国产一区二区视频免费在线观看| 久久婷婷亚洲| 国产99久久九九精品无码| 久久久人人人| 超碰av在线免费观看| 日产欧产美韩系列久久99| 国产精品v日韩精品v在线观看| 麻豆久久久久久| 亚洲a级黄色片| 国产sm精品调教视频网站| 天天躁日日躁狠狠躁av麻豆男男 | 欧美性极品xxxx做受| 天天操中文字幕| 欧美日韩一区国产| 国产成人麻豆精品午夜在线| 51精品国自产在线| 日韩有码第一页| 亚洲人a成www在线影院| 三级网站免费观看| 国产一区二区av| 欧美尤物美女在线| 俺也去精品视频在线观看| 538视频在线| 国产精欧美一区二区三区| 亚洲a∨精品一区二区三区导航| 成人亚洲激情网| 成人免费直播在线| 精品综合久久| 一区二区蜜桃| 婷婷五月综合缴情在线视频| 99精品视频免费观看| 国产高潮免费视频| 丁香婷婷综合色啪| 黄色激情小视频| 亚洲一区二区综合| 黄色污污网站在线观看| 日韩欧美自拍偷拍| 天堂在线一二区| xxxxx成人.com| 亚洲美女尤物影院| 91久久国产精品91久久性色| 精品综合久久88少妇激情| 一区二区三区av| 在线精品观看| 亚洲77777| 久久久蜜桃精品| 91嫩草丨国产丨精品| 亚洲va欧美va天堂v国产综合| 伊人久久国产精品| 亚洲成色www8888| 91短视频版在线观看www免费| 欧美黑人巨大xxx极品| 丝袜美腿一区| 国产麻豆乱码精品一区二区三区 | 精品亚洲精品福利线在观看| 免费黄色网址在线观看| 日韩av成人在线观看| 成人搞黄视频| 中文字幕一区二区三区精彩视频| 日日夜夜精品视频免费| 国产乱淫av麻豆国产免费| 欧美国产成人在线| 一级久久久久久| 日韩成人激情在线| 国产美女福利在线| 国产精品扒开腿做| 久久九九热re6这里有精品| 乱熟女高潮一区二区在线| 日本不卡一区二区三区高清视频| 欧美激情 亚洲| 亚洲不卡一区二区三区| 国产精品久久影视| 在线免费观看羞羞视频一区二区| 欧美大胆性生话| 精品中文字幕人| 影音先锋亚洲电影| 国产成人强伦免费视频网站| 国产亚洲精品bt天堂精选| 中文字幕亚洲乱码熟女1区2区| 精品免费国产一区二区三区四区| 黄色网页网址在线免费| 国产在线视频2019最新视频| 成人vr资源| 国产91xxx| 91麻豆免费在线观看| 国产精品500部| 国产视频精品一区二区三区| 国产夫妻在线| 国产色综合一区二区三区| 中文在线一区| 黄色污在线观看| 亚洲成人av一区| 涩涩视频在线观看免费| 97精品国产91久久久久久| 色婷婷综合久久久久久| 人人妻人人添人人爽欧美一区| 99精品国产99久久久久久白柏| 久久黄色精品视频| 亚洲精品一区久久久久久| 日韩视频网站在线观看| 色999日韩自偷自拍美女| 日产国产高清一区二区三区| 激情无码人妻又粗又大| 欧美巨大另类极品videosbest | 污污的视频在线观看| 亚洲综合大片69999| 好看的日韩av电影| 粗大的内捧猛烈进出视频| 天天综合天天综合色| 色视频在线观看福利| 日韩女优在线播放| 国产精品国产一区| 丰满人妻一区二区三区大胸| 亚洲欧美一区二区三区久本道91| 国产wwwxxx| 国产69精品久久久久99| 九九视频免费观看视频精品| 色综合天天色综合| 亚洲美女区一区| 黑人精品一区二区| 欧美又大又硬又粗bbbbb| 久久亚洲影视| 无码国产精品久久一区免费| 亚洲国产一二三| 精品美女视频在线观看免费软件 | 午夜亚洲一区| 久久久视频6r| 欧美精品第1页| а_天堂中文在线| 四虎永久国产精品| 国产精品乡下勾搭老头1| 一本一道无码中文字幕精品热| 国产亚洲欧美日韩美女| 成人香蕉社区| 人妻无码视频一区二区三区|