解決「通」或「不通」這類功能性問題,其實很好解決。但是解決網頁打開「很慢」、「慢」、「正常」、「快」之類的性能問題,有時並不那麼容易。

通過題主的描述可以獲得以下事實:

  • 網路的連通性沒有問題,否則也無法Ping通伺服器
  • 域名解析也沒有問題,否則也無法訪問網頁
  • 伺服器應該工作正常,否則也無法訪問
  • 網路是暢通的,否則Ping的延遲不可能正常

既然網路看起來是好的,為何訪問網頁慢呢?

根據多年的從業經驗,我的推測是:

MTU問題

區域網出口網關,可能由於PPPoE撥號,在正常的用戶IP報文頭前又增添了8個位元組的PPPoE頭,使得用戶1500位元組的IP報文,變成了1508位元組。

由於出口網關WAN介面的MTU = 1500。很顯然1508位元組的IP報文 > WAN介面的MTU,網關需要將1508位元組的IP報文,分成2片,每片都要小於等於1500位元組,才能通行。

分片(Fragment)會消耗網關的硬體資源、軟體資源,如果網關是使用純軟體來進行分片,那效率是非常低下的,會造成延遲的增大。

當分片到達伺服器時,伺服器要組織硬體、軟體來將分片進行重組(Reassemble),重組成最原始的1500位元組(此時PPPoE頭已經不存在了),這在一定程度上增加了處理延遲。

如果伺服器沒有採用網卡硬體加速重組,而是由TCP/IP協議棧(純軟體)進行重組,又是一個令人難以忍受的漫長。

還沒有完,等伺服器返程的IP報文(1500位元組),到達區域網所在的接入網路時,又需要增添8位元組的PPPoE頭,IP報文又一次膨脹為1508位元組,同樣需要分片,這又一次增加了處理延遲。

當分片到達題主的主機時,同樣需要進行重組,這又一次增加了處理延遲。

一來一回共增加了四次處理延遲,訪問網頁自然會慢。

還沒有完,還沒有考慮到有丟包的情況發生。如果2個分片有1個分片傳輸過程中丟了,源主機需要重傳整個IP報文,而重傳的IP報文一樣需要分片。在這種情況下,不但有TCP 超時重傳的延遲,還有分片的延遲。

這無疑是雪上加霜,讓本來很糟的情況,變得更加糟糕。

這還沒有完,分片到達伺服器/主機時,由於其孿生兄弟還沒有到達,需要暫時呆在緩存里等待孿生兄弟的到來,才能重組,對嗎?

在網路丟包嚴重時,孿生兄弟可能永遠都無法到達(丟了),呆在緩衝區的分片需要等待一段時間才能刪除。要命了,會有茫茫多的分片不斷到達緩衝區,並快速佔滿緩存空間。

有讀者會問,為什麼它們賴著不走啊?

因為孿生兄弟(分片)還沒有到達!

再有分片到達時,沒有緩存可以用了,怎麼辦? 丟!

TCP如何修復這些丟包?

超時重傳!

超時重傳又增加了延遲!

說了那麼多,其實就是一個意思,一旦分片了,就做好網路變慢的思想準備!

上文的觀點,不是憑空的推測,而是多年實驗室實驗研究的結論。

如何證明是MTU造成的問題?

只要把主機的MTU從標準的1500修改成1492或更小,然後再次訪問網頁,和其它主機對比一下便知。

如何系統性地解決這個問題?

一般商用的路由器,為了避免分片,會部署一個Feature : 「TCP Adjust-MSS」,用於動態修改用戶TCP報文的MSS值,只要將將MSS值減小8個位元組,以抵消PPPoE頭帶來的長度增加。

如果題主的網關路由器支持這個功能,打開這個功能。如果不支持,需要升級路由器。或將區域網的主機MTU都改小8個位元組。


區域網中ping網關和dns都通,延遲不大也正常,但是打開網頁特別慢,在百兆光纖專線,100台機器左右的場景中,理論上不會出現這樣的問題。

01

觀察打開網頁的時候,是打開一個網頁的網站慢呢,還是所有網站的網頁慢。是一台機器有這個現象,還是區域網中所有機器都有這個現象。

如果是一台機器有這個現象,其他機器都好,基本確定是這台機器出故障。此時可以把這台機器隔離,進行殺毒,甚至備份數據後,重新安裝操作系統。

安裝完操作系統後,安裝360安全衛士,全盤殺毒。

02

如果區域網中,所有機器都是打開網頁慢,就要先測試外網介面。即在ISP接入線纜入口處,接入單機進行測試,觀察結果是否正常,並且用測速網站測試網速。如果正常,繼續往下走。

重新啟動防火牆,路由器,交換機等設備,觀察是否正常。

03

檢查設備設置是否衝突,比如區域網內接入路由器,沒有告訴網路管理員,造成與現有路由器或者交換機或者防護牆IP地址衝突等,使網路緩慢。

解決辦法是用網頁登錄網關設備,綁定網關設備地址和MAC地址。

04

在防火牆上面查看埠流量,如果流量太大,有可能區域網中有人下載文件,傳輸文件,看電影等操作。

經過偵查,如果有這種現象,在防火牆上限制該IP或者阻止其上網即可。

謝謝各位老鐵留言討論,打開網頁慢的那些問題,順手點點【關注】,成為朋友,希望你的每次到訪都有新的收穫。


如你所述

根據你所說的這麼多,無論是網路延遲,以及是是否IP DNS伺服器都沒有問題,再看到你說的100台機子,進行網路交換

不要先想著中毒之類的問題

我就想問一下,你使用的網路交換機是百M交換機還是千M交換機?使用的是家庭寬頻,還是商業寬頻?商業寬頻多少兆,怎麼分配的IP地址?動態分配還是靜態分配?如果用的是家庭寬頻,別說是200M的寬頻,就是兩根200M的寬頻,用來連接100台的機子,不對,寬頻的上行下線,IP地址設置,自動獲取IP地址,我保證網路絕對卡的要起飛

倘若你使用的是100M的商業寬頻,上行下行寬頻對等,哪怕是一台機子設置下載速度為1M每秒上行也是設置為1,也不會出現網頁,打開都會卡頓,包括對IP地址的合理分配,建議100台機子,最好是設置靜態IP,動態IP不現實

當然,包括網路交換機的選擇,最好選專業一點的千M網路交換機

除了IP分配,網路交換機選擇,網線選擇,就是寬頻的本身質量


「網路極客」,全新視角、全新思路,伴你遨遊神奇的網路世界。


百兆專線按理說並不會產生網頁緩慢的問題,說明網路中存在問題。

  • PING網關延時較小,說明區域網沒有環路或病的影響,其他問題無法排除;

  • PING運營商DNS伺服器地址,只能夠檢測到運營商端DNS鏈路沒有問題,無法排除運營商內部的資源訪問延時問題;

那麼,一起來看看,如何逐步排查故障問題點。


運營商端問題

首先,排除區域網內部的干擾,可以斷開所有區域網的連接。

  • 使用單台電腦測試,打開網頁的速度;

  • 或者可以直接通過PING域名來查看具體的延時。

這樣,可以判斷出運營商的線路資源訪問是否存在問題。


區域網問題
  • 區域網最常見的問題有兩點,一個是私接路由器,造成內部網關混亂,網路較差;

  • 一個是用戶下載沒有限速,導致網路運行緩慢。

既然PING網關延時不大,可以排除第一點。看看還有那些原因:

1.帶寬限速

  • 區域網大概100多台終端,若多台電腦同時下載,將會對網路造成較大的影響;

  • 需要在路由器中對每個接入的IP地址進行限速。

2.連接數限制

  • P2P下載,會不斷的建立連接數,雖然下載帶寬不一定很大;

  • 但是區域網的連接數不斷增長,直至耗盡,也會導致網路緩慢;

  • 在路由器中,可以對單台主機進行最大連接數限制。

3.DNS設置錯誤

  • 在處理故障的時候,還會發現這樣的問題;

  • 雖然使用的是移動的寬頻,但是DNS地址卻設置成電信的DNS;

  • 異網訪問DNS伺服器同樣會導致網路速度。

4.廣播風暴

  • 還是終端數比較多的原因,在同一個VLAN下,廣播對區域網的影響較大;

  • 條件允許的情況下,可以在交換機中劃分不同的VLAN進行隔離。


還有那些原因會導致百兆專線打開網頁速度較慢?

歡迎大家留言討論,喜歡的點點關注。



你ping區域網的網關和DNS都緊緊代表你區域網是正常的。你是訪問區域網中的站點慢還是互聯網的站點慢。

互聯網出口帶寬是不是被佔滿了你知道嗎?如果區域網中不進行出口帶寬的限制。一直掛著BT下載電影,你看看別人上網慢不慢!

同樣的原理,你區域網中如果有人在同一個交換機下,不限制速度傳輸個上百G的數據!你看看同一個交換機上的其它設備會怎麼樣!


首選DNS和備用DNS換換位置


提問的信息里沒有明確說明是個別電腦還是所有電腦還是一個交換機下的電腦都這樣。就先假設區域網里全體電腦都有相同故障。

如果區域網全體電腦打開網頁慢的話,建議帶上測試筆記本(確認筆記本是沒有任何問題的)直接去光纖貓的寬頻口測試一下。

光纖直連光纖貓再從貓的寬頻口接網線連測試筆記本,看看打開網頁的速度是不是和區域網電腦的故障現象一樣?如果此處也有打開網頁慢的毛病,則有以下幾種可能:1.光功率不足,這個得用光功率計測得或者是光纖跳線被彎曲甚至是受損,導致光傳輸不正常,光纖跳線受損可以更換。2.跳線接入光纖貓的一端的插頭處髒了,有了灰塵。灰塵對光功率的影響是非常大的,找個酒精棉球把插頭頂部白色芯體,尤其是射出光的那一面擦拭乾凈即可。3.光纖貓出現故障,如果是軟故障,重啟一下就好了或者恢復出廠設置?如果是硬體故障,可用同類型設備替換。除了第二步,第一和第三可以打電話叫運營商派維護人員上門檢測處理。

測試筆記本直連光纖貓處測試寬頻如果正常,那麼就確定故障源自自身,然後開始考慮縮小故障範圍,直至鎖定故障點為止。


買個電腦,就是上網慢的不行。放在無線路由器旁邊,完全正常,移開一米,又不行了。究其原因,可能是光碟機位置安的固態硬碟擋住了信號,導致網速暴降。買個1200M的USB外置無線網卡插上,比內置失靈的快多了。(將內置網卡禁用)。另外,將路由器內置全雙工的20M改為40兆。速度會翻倍。反正,我遇到的上網慢的問題,大多數都是內置網卡不行,換成外置的,就能解決問題。


僅憑這些描述是無法確定網路故障的,建議你先查看數據出口即主路由的流量,重點關注並發數。如果有IP的並發數特別大上千或者更多,基本確定中毒了。無異常的話斷開全部負載,用筆記本測試打開網頁的測試,逐漸加負荷,找到有問題的網段,在在這個網段內排查,找出故障點。如果負荷到一定程度網就慢了而網段有沒異常,估計是路由器電氣老化引起的性能下降了。

憑我的經驗應該是並發數過大,超過了主路由的負荷值。


推薦閱讀:
相关文章