91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

如何實現Linux 2.6.16 TCP連接速度異常的問題分析

發布時間:2021-12-28 16:28:41 來源:億速云 閱讀:128 作者:柒染 欄目:云計算

這期內容當中小編將會給大家帶來有關如何實現Linux 2.6.16 TCP連接速度異常的問題分析,文章內容豐富且以專業的角度為大家分析和敘述,閱讀完這篇文章希望大家可以有所收獲。

發現訪問公司某些業務時,速度非常不穩定,并且整體慢于競爭對手。分析認為SESU10母盤上內核TCP擁塞控制算法和Windows的Ack頻率控制的策略存在不兼容情況。

目前至少確認 2.6.16內核版本存在此問題;打TCP優化補丁或者更換Tlinux以后可以解決問題。

問題現象:

在體驗網環境下測試:大文件下載的情況下,百度的下載速度平均在600KBPS,我們的下載速度平均低于100Kbps;互娛Webgame情況下,TNT業務下載速度大約是DDT的25%。

這里是一個典型的下載速度曲線:

我們的服務器的曲線:(縱軸單位:包/s)

百度的服務器下載的曲線:

重現該問題的測試環境:

網絡: 公司體驗網,普通聯通4M ADSL

服務器:Linux64位服務器, 深圳機房。

服務器程序: Apache,nws(自研webserver)

客戶端: Windows XP, Windows7,任意瀏覽器或者旋風(單線程下載)

測試工具:wireshark, httpwatch

測試連接:分別是自建CDN、百度下載、深圳DC+Apache

問題分析:

通過客戶端抓包分析發現速度很慢的段有兩個問題:

  1. 服務器端總是等到前面的數據包確認以后才發送第二個包

  2. Windows總是等到200ms左右才發送ACK確認。

對于Windows端的行為, 為了防止ACK過多導致網絡壓力,Ms TCP協議棧在每收到一個數據包時,啟動一個200ms定時器,直到收到其他數據包或者定時器過期時才發送ACK包。

通過設置注冊表選項 TcpAckFrequency 參數為1關閉 Ack delay以后,實驗發現下載速度恢復正常,無法重現下載速度慢的問題。

To configure the max outstanding ACKs in Windows XP/2003/Vista/2008:

[HKEYLOCALMACHINE \SYSTEM \CurrentControlSet \Services \Tcpip \Parameters \Interfaces \{Adapter-id}]

TcpAckFrequency = 1 (Default=2, 1=Disables delayed ACK, 2-n = If n outstanding ACKs before timed interval, sent ACK)

因為無法強制用戶通過修改注冊表避免問題,并且競爭對手也沒有看到類似問題,因此只能從linux端解決。

Linux這一端,首先懷疑和nagle算法有關系,在nws服務器上設置TCP_NODELAY以后仍然可以重現,可以排除Nagle算法的影響。 (實際上nws每次發送大數據包或者直接使用sendfile,不太會收到nagle算法影響) 其次Apache,nws都可以重現這個問題,比較懷疑操作系統本身有缺陷。

因為每次linux僅發送一個數據包,因此懷疑擁塞窗口的問題,推測問題如下:

初始情況下,客戶端回復一個ACK時,擁塞窗口增大,每次發送多個數據包,因此剛開始可以有較快的傳輸速度;因為網絡延時抖動或丟包導致服務器協議棧判定數據包超時,重置擁塞窗口為1,每次僅發送一個數據包,收到客戶端200ms回包,時仍然認為超時,同時調整RTT;直到RTT增大到200ms不算超時為止,擁塞窗口得以擴大,可以發送多個數據包,傳輸速度增快,如此循環。

通過測試增大初始擁塞窗口為10 (更換內核加載架平新技術組的TCP優化模塊實現),下載速度恢復正常。

上述就是小編為大家分享的如何實現Linux 2.6.16 TCP連接速度異常的問題分析了,如果剛好有類似的疑惑,不妨參照上述分析進行理解。如果想知道更多相關知識,歡迎關注億速云行業資訊頻道。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

吉水县| 怀来县| 五大连池市| 崇义县| 浠水县| 兴山县| 镇江市| 叶城县| 永顺县| 顺昌县| 宜良县| 盐源县| 大城县| 永川市| 克东县| 孝感市| 城口县| 西吉县| 锦州市| 新龙县| 柞水县| 宝坻区| 五大连池市| 永兴县| 营山县| 连州市| 驻马店市| 新密市| 汝南县| 闽清县| 广灵县| 沧州市| 施甸县| 项城市| 偏关县| 达孜县| 舞阳县| 苏州市| 湟源县| 宁波市| 兴文县|