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