03.05 為什麼tcp連接的傳輸速度慢,斷開重新連接後,傳輸速度就變快了呢?


“我是喲喲吼說科技,專注於數據網絡的回答,歡迎大家與我交流數據網絡的問題”

如題,TCP連接傳輸速度慢,重新建立連接後為什麼速度會變快?

喲喲認為可能有兩方面因素會造成此現象的發生,一是數據傳輸鏈路方面;二是服務器承載能力方面。

下面喲喲針對這兩種情況詳細分析一下:

一、數據傳輸鏈路

這裡所說的數據傳輸鏈路不是單單的指物理鏈路,而是指客戶端至服務器端中間所經過的所有鏈路。

1、無線傳輸;

無線信號差會造成波形失真,造成波形無法轉換為對應數據而直接丟棄,這時TCP兩端就會因超時而重傳丟棄的數據報文,並且傳輸速度會減半,若重傳的報文又被丟棄,那麼再次重傳的時間又會再次減半,這樣就會感覺速度很慢;

2、有線傳輸;

因網絡某一節鏈路傳輸帶寬遇到瓶頸或網絡不穩定而造成數據被丟棄,那麼同理於無線傳輸,數據報文會因超時而重傳,速度也會減半,以此類推……

二是服務器方面

一般為用戶提供服務的資源商所部署的服務器都是多臺負載的,但因某臺服務器過載,而該用戶的TCP又恰巧與此服務器連接,那麼服務器會因過載無法處理數據報文而將其丟棄,造成重傳,啟動重傳機制後傳輸速率會減半,過程同上。

那為什麼斷開連接,重新建立一下就變快了呢?

這是因為在TCP重新建立連接時,因網絡調度和服務器調度會根據網絡和服務器的狀態將用戶請求重新調度到網絡環境與服務器狀態均正常的地方,這樣用戶訪問速度就會變快。

歡迎大家多多關注我,在下方評論區說出自己的見解。


喲喲吼說科技


其實最好的辦法就是抓包,用wireshark分析,是什麼原因導致的,就一目瞭然了。

其實大多是因為網絡擁塞,丟包導致的速率下降。

另外,端到端數據包所走的路由也可能不同,有些server對數據可能有緩存等。


分享到:


相關文章: