亚洲视频二区_亚洲欧洲日本天天堂在线观看_日韩一区二区在线观看_中文字幕不卡一区

公告:魔扣目錄網(wǎng)為廣大站長提供免費收錄網(wǎng)站服務,提交前請做好本站友鏈:【 網(wǎng)站目錄:http://www.430618.com 】, 免友鏈快審服務(50元/站),

點擊這里在線咨詢客服
新站提交
  • 網(wǎng)站:51998
  • 待審:31
  • 小程序:12
  • 文章:1030137
  • 會員:747

背景

我司使用的是亞馬遜廠商的云服務,廠商的消息隊列產(chǎn)品我們并沒有用,我們選擇自建,自建的好處是更靈活,定制性更廣。公司內(nèi)部有多套Kafka集群,100+broker節(jié)點,針對kafka我司也有比較完善的自動化運維管理體系,最近出現(xiàn)過一次業(yè)務連接kafka集群頻繁超時的情況,在這里記錄下處理過程,加深對網(wǎng)絡知識的理解。

問題現(xiàn)象

業(yè)務收到服務可用性下降報警,分析日志發(fā)現(xiàn)是連接亞馬遜kafka集群有頻繁超時,超時日志如下:

網(wǎng)絡故障的隱形元兇:MTU配置你了解嗎?

基本分析

  • 影響因素:多臺主機同時報警,排查單臺主機問題。
  • 集群檢查:立即確認kafka集群以及涉及到topic健康狀態(tài)。集群狀態(tài)正常,收發(fā)消息正常,壓力負載正常;topic讀寫正常。
  • 變更操作:近期未做關于kafka的任何變更操作,排查變更影響。
  • 確定影響范圍:確認其他業(yè)務是否有超時情況。大部分業(yè)務反饋未出現(xiàn)超時情況,問題規(guī)模限定在當前業(yè)務。

定位

網(wǎng)絡問題從表面看不到細節(jié),只能通過抓包分析,同時抓取了客戶端和服務端的數(shù)據(jù)包,抓包命令如下:

# 客戶端(抓所有和kafka節(jié)點通信的網(wǎng)絡數(shù)據(jù)包)
nohup tcpdump  port 9092 -w kafka.pcap & 
# 服務端(抓所有和客戶端主機通信的數(shù)據(jù)包)
nohup tcpdump host 10.66.67.166 -s0 -w 10.66.67.166.pcap &

說明: 開啟抓包后,在客戶端主機過濾超時日志,出現(xiàn)超時后即可停止抓包操作。

數(shù)據(jù)包分析

  • 錯誤日志:
  • 2023-05-24 20:46:29.947 kafka client/metadata got error from broker while fetching metadata: read tcp 10.66.67.166:37272->10.68.0.151:9092: i/o timeout
  • 客戶端報文

網(wǎng)絡故障的隱形元兇:MTU配置你了解嗎?

  • 服務端報文

網(wǎng)絡故障的隱形元兇:MTU配置你了解嗎?

  • 報文分析
  • 客戶端報文:
  • 在序號為793以上的報文都收到了服務端的響應,而且可以看到使用的是kafka協(xié)議進行了消息的投遞(kafka produce respone)。
  • 在序號為794的時候,客戶端發(fā)送了7個長度是8514的tcp報文,未看到服務端的回應。
  • 在序號是803,804的時候,客戶端又發(fā)送了2個長度的tcp報文。
  • 從序號是807開始,發(fā)現(xiàn)客戶端重傳了之前發(fā)送的所有長度是8514的tcp報文。(丟包了。客戶端未收到服務端的響應所以重傳了)。
  • 服務端報文。
  • 從服務端看,客戶端前面的幾個tcp報文都被服務端正常處理。(前面的報文長度都很小,小于1000)。
  • 客戶端發(fā)送的9個長度為8514的包,服務端根本沒收到。
  • 服務端等待了60s后,關閉了tcp連接。(服務端配置的空閑連接時間就是1min,符合預期)。

丟包問題分析

  • 被丟棄的數(shù)據(jù)報長度都比較大,是否是報長度過大的問題?
  • 查詢機器的網(wǎng)卡mtu配置,發(fā)現(xiàn)是9001(TCP/IP 巨型幀),隨機使用ping命令指定size進行測試。
  • TCP 最大段大小(Max Segment Size,MSS)是會根據(jù)網(wǎng)卡設置的mtu值決定,即使設置的是9001,測試最大MSS最大支持到8468,超過后就直接丟了。

網(wǎng)絡故障的隱形元兇:MTU配置你了解嗎?

  • 對比測試規(guī)律總結(jié)
  • 騰訊、阿里主機(mtu=1500):因為網(wǎng)卡配置的都是1500,所以不存在報過大丟棄的情況。
  • 亞馬遜主機(mtu=9001):包大于8468后,就會直接丟棄(問題產(chǎn)生在新老賬戶通信上)。

刨根問底

其他亞馬遜業(yè)務網(wǎng)卡mtu配置配置也是9001,為啥沒問題?

  • 第一時間和出問題的業(yè)務方確認業(yè)務是否有調(diào)整或者變更,他們說明了服務沒有調(diào)整,他們在亞馬遜有開了一個新賬戶部署了服務,目前業(yè)務訪問是跨賬戶調(diào)用。

聯(lián)系廠商確認跨賬戶網(wǎng)絡鏈路。

  • mtu 問題反饋給廠商技術支持人員,給到的結(jié)論是:新老賬戶網(wǎng)絡連通設備(TGC),最大的mtu上限是8500,所以我們通過網(wǎng)關設備的包就丟棄了。

網(wǎng)絡故障的隱形元兇:MTU配置你了解嗎?

網(wǎng)絡故障的隱形元兇:MTU配置你了解嗎?

解放方案

  • 調(diào)整主機mtu值,已匹配廠商的mtu限制。
# 臨時生效
ip link set dev eth0 mtu 1500
永久生效
vim  /etc/sysconfig.NETwork-scripts/ifcfg-eth0   增加如下內(nèi)容
MTU="9000"
# service network restart

分享到:
標簽:MTU
用戶無頭像

網(wǎng)友整理

注冊時間:

網(wǎng)站:5 個   小程序:0 個  文章:12 篇

  • 51998

    網(wǎng)站

  • 12

    小程序

  • 1030137

    文章

  • 747

    會員

趕快注冊賬號,推廣您的網(wǎng)站吧!
最新入駐小程序

數(shù)獨大挑戰(zhàn)2018-06-03

數(shù)獨一種數(shù)學游戲,玩家需要根據(jù)9

答題星2018-06-03

您可以通過答題星輕松地創(chuàng)建試卷

全階人生考試2018-06-03

各種考試題,題庫,初中,高中,大學四六

運動步數(shù)有氧達人2018-06-03

記錄運動步數(shù),積累氧氣值。還可偷

每日養(yǎng)生app2018-06-03

每日養(yǎng)生,天天健康

體育訓練成績評定2018-06-03

通用課目體育訓練成績評定