計算機用戶及管理員是個缺乏耐心的群體。我們不想有任何的等待。如果需要花幾秒鐘加載網頁、下載文件或傳送消息,我們就會焦慮不安。而流失的幾秒鐘加起來積少成多,會變成流失數分鐘、數小時乃至數天,而在如今的商業環境下,沒人浪費得起這樣的時間。
這篇文章我們不僅探討了網絡性能的真正含義、實際性能與感知性能之間的差異,導致網絡性能低下的一些可能原因,還有改動Windows軟件設置的幾個提示,幫助提升網絡性能,而且我們還將更深入一點地探討配置變更,可以用來改善性能的第三方工具,以及Windows操作系統中自帶的一些技術(包括最新版本中你可能沒有意識到的一些新技術),這些技術旨在幫助你優化網絡性能。
網絡性能功能的演進
自計算機網絡和通信的早期階段以來,我們已取得了長足進展。第一批調制解調器的速率只有每秒75比特至300比特;十年前,1.5mbps T-1線路似乎快若閃電了。而如今,我們的互聯網連接速率可以高達每秒吉比特(對不擅長數學的人來說,這個速率相當于每秒1073741824比特)。
第一代的以太網問世于上世紀80年代,其數據速率為10mbps――這比運行速率為4mbps的首批令牌環網絡有了很大的改進。作為另一種早期的本地網絡技術,ARCNET的速度還要慢,只有2.5mbps。與之形成對照的是如今的100gbps以太網,1gbps儼然就是企業部署環境下的標準,10gbps也并不罕見。
然而,網絡性能絕不僅僅取決于連接的原始帶寬。在電子通信領域,性能方面的度量通常包括下列方面:
帶寬:連接能夠達到的最大每秒比特速率,這是我們通常賦予連接速度的標簽。
吞吐量:傳送數據的實際速率,這個度量指標可能、而且常常遠低于帶寬指標。
時延:發送數據與目的地用戶收到數據之間的延遲,這是由距離/傳輸時間引起的(因而,由于從地球傳輸到軌道再傳回地球,衛星通信總是存在時延偏高的問題)。時延還會因沿路的中間站處理信號所需的時間而變長。
性能還受到傳輸錯誤率的影響。當比特抵達目的地但出現損壞后,就得重新發送,這降低了整體性能。眾多干擾會引起錯誤,比如電磁干擾、附近線纜引起的串音、信號失真、隨機噪聲和同步問題等。
實際性能與感知性能
上述幾個性能因素與信號本身、信號傳輸所通過的線纜(或電波)以及直接參與信號傳輸和接收(如果是中間節點,則重新傳輸或中繼信號)的硬件有關。有許多辦法可以通過改動硬件來提升性能,比如為服務器添加更多的網卡,從而分攤網絡流量負載,將任何集線器換成交換機,或者將簡單的交換機換成更智能化的交換機,升級線纜,以及更有效地保護線纜以屏蔽干擾等等。
操作系統和應用軟件與此毫無關系。然而,網絡的感知性能(perceived performance)可能會受到數據比特在離開發送端計算機之前及/或抵達目的地計算機之后所出現情況的重大影響。因而,軟件在提升感知網絡性能方面可以發揮重大的作用。
準確查明問題
網絡性能似乎偏低時,第一步就是查明問題出在哪里。問題果真出在低速網絡,還是出在某一個計算機系統?如果許多計算機上普遍存在問題,可以接下來查明性能降低出現在本地網絡里面,還是這是互聯網連接存在的問題?換句話說,是內部計算機的通信速度較慢,還是僅僅是基于互聯網的傳輸速率較慢?如果互聯網是罪魁禍首,之后你得查明問題出在內部部署型設備上、互聯網提供商,還是出在你所連接的特定網站或服務上?
很顯然,問題的根源將決定對此采取一些措施是不是在你的范圍之內;如果是,又該如何處理。你可以使用一些診斷工具來查明一些問題,比如廣域網連接上的時延或內部服務器存在的問題。商用或免費網絡分析工具可以幫助你準確診斷速度偏慢的根源。
在一些情況下,貴企業的使用負載可能對你擁有的帶寬數量來說不堪重負。這意味著,你需要考慮升級內部網絡基礎設施,或者向ISP購買帶寬更高的服務套餐(或者甚至雙管齊下)。不過在許多情況下,你有足夠的內外帶寬,增添更多的帶寬只會浪費錢財,解決不了實際問題。
基于軟件的性能提升
你在Windows系統上為了提升感知網絡性能而能做的許多改動適用于所有版本的Windows操作系統和平臺;另一些改動則依賴較新操作系統內置的技術。我們先介紹比較籠統的性能提升方法。
移除不需要的網絡協議
Windows計算機支持許多不同的網絡協議;其中許多協議某個時候在某個地方被啟用了,盡管你從不使用它們,或者只是偶爾用一下,之后不再使用。可是那些不需要的協議在占用系統資源,生成毫無用處的網絡流量,因而降低了你確實使用的協議的性能。
移除不需要的多余協議可以盡量減少需要議定的網絡綁定數量,減少網絡流量,并騰出系統資源。最棒的是,做起來很簡單。
只要通過Change adapter settings(變更適配器設置)選項(網絡和共享中心 | 任務),就可以訪問你所安裝的每只網卡的適配器設置。鼠標右擊你想改動的連接,選擇Properties(屬性),向下滾動,即可看到哪些網絡協議已被啟用,不要勾選你不需要的協議旁邊的方框,點擊Uninstall(卸載),即可完全卸載協議。
請注意:相比隨機安裝眾多之前流行,但不再經常使用的協議(比如PX/SPX、NetBEUI和AppleTalk)的較舊操作系統,這在較新操作系統上不太可能是個問題。別禁用下列協議(除非你知道自己在干什么,明白它會關閉網絡的功能):
Internet Protocol (TCP/IP)
面向微軟網絡的客戶機
面向微軟網絡的文件和打印機共享
改動網絡適配器驅動程序軟件
如果優化網卡的驅動程序,可以提升網絡適配器的感知性能。確保驅動程序軟件是最新版本,為此只要訪問廠商的官方網站,獲取最新版本。還可以改動驅動程序的設置,增加可用于入站和出站數據包緩沖的內存數量,另外還可以改動緩沖區數目的設置。更大的緩沖區空間有助于盡量減少網絡流量的突增引起擁塞而導致的性能降低。
下面是具體辦法:在網絡和共享中心中的Change adapter settings(變更適配器設置)選項中,鼠標右擊你想改動的連接,選擇Properties(屬性),然后選擇Network(網絡)選項卡,最后選擇Configure(配置)。現在,點擊Advanced(高級)選項卡。這會顯示可以改動的屬性。有助于提升性能的一些屬性包括如下:
如果性能比節電還要重要,你可以關閉“關閉網卡以便節電”的電源管理功能。雖然關閉網卡確實可以節電,但是再次啟動需要時間,而這會降低性能。這在服務器上來得尤為明顯。
你應該確保網絡速度、雙工和流量控制等選項都已設置好,以便與系統連接的交換機相一致。默認的設置可能是“自動”,這似乎是最合理的選擇,但是這可能會導致進行自動同步時性能下降。
如果你的服務器有大量內存,可以將Max Coalesce Buffers(最大合并緩沖區)、Max Transmit/Send Descriptors and Buffers(最大傳輸/發送描述符和緩沖區)以及Max Receive Buffers(最大接收緩沖區)等設置的值設得盡可能大些,以提升感知網絡性能。
啟用網絡卸載功能(假設你的網卡支持該功能),減輕處理器的負載,這有望提升總體系統性能和感知網絡性能。
禁用Wake On LAN(以太網喚醒)功能。
網絡密集型任務和應用程序
提升感知性能有時很簡單,就像把通過網絡備份用戶數據等任務的時間表改到不與試圖完成工作的用戶爭奪帶寬資源的時段。自動更新是另一項計劃任務,要是不安排在非高峰時段執行,可能會降低其他各方面的性能。告訴用戶將非高峰網絡使用安排在帶寬并不緊缺的時段。
另外要告訴用戶節省帶寬資源。與水電一樣,網絡帶寬也是一種有限的資源,用戶意識培訓可以讓員工在向團隊的每個成員發送大容量附件的郵件或者運行并非完成工作所必需的高帶寬應用程序之前,停下來好想一想。考慮制定政策以禁止一些活動,比如通過網絡或互聯網玩多用戶游戲,在休息或午飯時間從Netflix等網站或服務觀看流視頻,因為這類活動會降低仍在那個時段工作的其他用戶的網絡性能。
部署新的應用程序時,要留意它們對網絡性能的潛在影響。視頻會議等高帶寬技術會耗用大量的網絡帶寬,并且干擾其他應用程序和文件傳輸。
通常過多地使用網絡帶寬還歸因于惡意軟件在作崇,或者甚至表明你的一些系統受到了感染,被變成了僵尸網絡的“僵尸機”,所以務必要給所有系統打上補丁,并經常運行定義文件保持最新版本的反病毒和反惡意軟件工具。監控網絡使用情況,并研究分析任何可疑的過多使用帶寬的現象。
服務質量(QoS)
最近媒體對于互聯網提供商優先處理某些類型的網絡流量這個問題頗有爭議。擔心的一大問題是,這種做法會降低其他服務的性能。我們暫且拋開網絡中立的優缺點不說,基本概念是,許多公司確實可以借鑒一些做法,運用到自己的內部網絡上,從而提升感知網絡性能。
服務質量技術讓你能夠優先處理流量,將更多的帶寬分配給最重要的應用程序或者受時延影響最大的應用程序,并限制不大重要或對時延不大敏感的應用程序。這種類型的帶寬管理又叫流量整形或數據包整形,讓你很容易阻止或限制通常個人性質的網絡活動,同時確保關鍵的業務應用程序獲得所需的帶寬。
服務質量可以在現代路由器和交換機上配置,也可以在服務器上配置。微軟在Windows 2000中引入了服務質量機制;所有得到支持的Windows Server版本都包含服務質量,這些年來這項功能已得到了改進。
Windows Server 2012/2012 R2采用了基于策略的服務質量,整合到組策略里面,根據應用程序、用戶和計算機來提供帶寬控制。你可以用許多方法來限制出站流量:發送應用程序和目錄路徑、源和目的地IP地址、源和目的地端口和端口范圍,按照協議(TCP或UDP),或者按照活動目錄中定義的特定的用戶組或計算機組。
服務質量策略讓你可以指定DSCP值和限制速率。差分服務代碼點(DSCP)是IP數據包中的一個六位字段,讓你可以將服務級別分配給流量。DSCP值的范圍在0到63之間。限制速率讓你可以限制流量的發送速率,用每秒千字節或兆字節來指定。有個向導可以引導你完成創建服務質量策略的過程。你可以在該網站上的這篇文章(http://www.windowsnetworking.com/articles-tutorials/windows-server-2012/QoS-Windows-Server-2012-Part1.html)中找到關于Server 2012服務質量的更詳細的信息。
就基于策略的服務質量而言,你可以輕松運用的優先處理的例子包括:優先處理業務部門(LoB)應用程序,或借助基于URL的策略,優先處理HTTP服務器應用程序。你可以在這里(https://technet.microsoft.com/en-us/library/jj159288.aspx)的TechNet庫中找到這兩種場景的逐步操作指示。
后臺智能傳輸服務(BITS)
會引起感知網絡性能出現下降的另一個因素是,當大文件在后臺通過網絡傳輸時,網絡的可用帶寬出現超載。
目前支持的Windows版本含有一項名為BITS的技術,該技術最早出現在Windows XP中。BITS能控制文件傳輸流,因而防止干擾其他網絡應用程序的性能。BITS之所以稱為“智能”,是因為它可以使用計算機的網卡來監控和測量在某個時段可用的網絡帶寬量,然后相應地提高或降低文件傳輸速率,從而最充分地利用帶寬。
BITS可以用來為文件傳輸任務設定優先級,那樣可以對同時傳輸進行排序,從而確保最重要的傳輸獲得了比不大重要的傳輸更高的優先級。應用程序可以賦予一個前臺優先級和三個后臺優先級。如果兩項傳輸任務有同樣的優先級,它們將共享分配給該優先級的傳輸時間。BITS會安排每項任務使用某個時段,然后在下一個任務被允許傳輸時就暫停,依次類推。可以為單個文件設定屬性,但是下載任務可能有多個文件(上傳僅限于一個文件)。BITS被Windows Updates所使用。
你可以通過組策略,對BITS所使用的傳輸速率設定帶寬限制,還可以設定你想限制帶寬的時間和日期。這可以通過下列組策略節點來完成:
Computer Configuration | Administrative Templates | Network | Background Intelligent Transfer Service (BITS)
BITS的一些可配置設置包括如下:
非活動BITS任務的超時
限制BITS后臺傳輸的最大網絡帶寬
建立工作時間表,限制用于BITS帶寬傳輸的最大網絡帶寬
限制BITS任務的最長下載時間
限制IBTS任務中允許的最多文件數量
限制該計算機中的BITS任務最大數量
限制每個用戶的BITS任務最大數量
限制可添加到BITS任務中文件的最大范圍數量
第三方數據包整形工具
如果Windows的內置機制不足以滿足你的用途,還有許多第三方解決方案可以提供數據包/流量整形功能。其中一些是軟件程序,另一些被包裝成網絡設備。甚至還有基于云的流量整形工具。一些例子包括如下:
NetEqualizer是一種硬件設備,可用來識別網絡上耗用帶寬最多的用戶,檢測哪種流量會流向那些用戶,并且在必要時限制耗用過多帶寬的那些用戶的連接,以緩解網絡擁塞現象。它對入站流量和出站流量都能執行流量整形功能,易于使用,因為它不需要創建和管理策略。
Exinda Network Orchestrator是一種軟件解決方案,目的在于分析網絡流量,并進行優化,以確保最佳的感知性能,可深入了解每個應用程序在如何耗用帶寬,還能保證最重要的應用程序擁有高效運行所需的帶寬。可以設定策略,以控制哪些用戶、哪些應用程序可以耗用網絡上的帶寬。
Cisco Meraki可執行深層數據包檢查機制,識別應用程序,讓你能夠準確查明哪些應用程序在耗用更多的網絡帶寬,并實施應用程序流量整形策略,以控制其使用,還可與基于云的應用程序特征數據庫協同運行。
結束語
在這篇文章中我們探討了網絡性能的真正含義、實際性能與感知性能之間的差異,導致網絡性能低下的一些可能原因,還有改動Windows軟件設置的幾個提示,幫助提升網絡性能。我們還探討了配置變更,可以改善性能的第三方工具,以及Windows操作系統中自帶的一些技術(包括最新版本中你可能沒有意識到的一些新技術),這些技術旨在幫助你優化網絡性能。
網絡性能的高低關系到是出色的用戶體驗還是糟糕的用戶體驗,而實際帶寬不如感知性能來得重要。好消息就是,你可以采取一些措施,提升網絡上的感知性能。在這篇文章中,我們介紹了其中幾個措施,以便你開始確保網絡在最高效率下運行。