TCP重傳率是對網路質量的一個體現,簡單包裝netstat -s的輸出可以計算出TCP重傳率。分享下之前檢查的指令碼如下:
#!/bin/bash
export PATH="/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin"
SHELLDIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
netstat -s -t > /tmp/netstat_s 2>/dev/null
s_r=`cat /tmp/netstat_s | grep "segments send out" | awk "{print $1}"`
s_re=`cat /tmp/netstat_s | grep "segments retransmited" | awk "{print $1}"`
[ -e ${SHELLDIR}/s_r ] || touch ${SHELLDIR}/s_r
[ -e ${SHELLDIR}/s_re ] || touch ${SHELLDIR}/s_re
l_s_r=`cat ${SHELLDIR}/s_r`
l_s_re=`cat ${SHELLDIR}/s_re`
echo $s_r > ${SHELLDIR}/s_r
echo $s_re > ${SHELLDIR}/s_re
tcp_re_rate=`echo "$s_r $s_re $l_s_r $l_s_re" | awk "{printf("%.2f",($2-$4)/($1-$3)*100)}"`
echo $tcp_re_rate
TCP重傳率高的可能原因
發生重傳說明網路傳輸有丟包,基本上從3個點去定位:客戶端網路情況、服務端網路情況、中間鏈路網路情況
客戶端機器網路異常
服務端網絡卡流量跑滿,網絡卡有丟包現象,關注ifconfig的error輸出
中間網路連路擁塞,比如交換機上聯、核心交換機鏈路等,需要逐個排查鏈路流量情況
TCP重傳率是對網路質量的一個體現,簡單包裝netstat -s的輸出可以計算出TCP重傳率。分享下之前檢查的指令碼如下:
#!/bin/bash
export PATH="/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin"
SHELLDIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
netstat -s -t > /tmp/netstat_s 2>/dev/null
s_r=`cat /tmp/netstat_s | grep "segments send out" | awk "{print $1}"`
s_re=`cat /tmp/netstat_s | grep "segments retransmited" | awk "{print $1}"`
[ -e ${SHELLDIR}/s_r ] || touch ${SHELLDIR}/s_r
[ -e ${SHELLDIR}/s_re ] || touch ${SHELLDIR}/s_re
l_s_r=`cat ${SHELLDIR}/s_r`
l_s_re=`cat ${SHELLDIR}/s_re`
echo $s_r > ${SHELLDIR}/s_r
echo $s_re > ${SHELLDIR}/s_re
tcp_re_rate=`echo "$s_r $s_re $l_s_r $l_s_re" | awk "{printf("%.2f",($2-$4)/($1-$3)*100)}"`
echo $tcp_re_rate
TCP重傳率高的可能原因
發生重傳說明網路傳輸有丟包,基本上從3個點去定位:客戶端網路情況、服務端網路情況、中間鏈路網路情況
客戶端機器網路異常
服務端網絡卡流量跑滿,網絡卡有丟包現象,關注ifconfig的error輸出
中間網路連路擁塞,比如交換機上聯、核心交換機鏈路等,需要逐個排查鏈路流量情況