“為什么計(jì)算出是什么導(dǎo)致網(wǎng)絡(luò)性能的降低如此困難?”這是許多IT管理者在Peter Harrison研究并撰寫《Linux Quick Fix Notebook》(http://www.phptr.com/title/0131861506)一書時(shí)向他提問(wèn)的問(wèn)題,這本書由Prentice Hall出版社于近期出版發(fā)行。而在這篇技巧性的文章中,我們有幸邀請(qǐng)到Harrison,他將回答上面的問(wèn)題,并將提供一些診斷性能問(wèn)題的建議。――編者
檢測(cè)網(wǎng)絡(luò)性能的瓶頸是非常棘手的事情,幾個(gè)因素的疊加將使解決問(wèn)題變得更加困難。許多應(yīng)用都必須依賴中間的服務(wù)器通信才能夠正常工作,因此慢速的應(yīng)用程序反應(yīng)時(shí)間,可能由通信路徑中任何一個(gè)層面的問(wèn)題所引起,也就是說(shuō),問(wèn)題發(fā)生在開(kāi)放式系統(tǒng)互聯(lián)(Open Systems Interconnection,OSI)模型的任一水平的協(xié)議棧中。它可能是物理問(wèn)題,如電纜或網(wǎng)卡(NIC)發(fā)生了問(wèn)題,也可能是協(xié)議問(wèn)題、通過(guò)網(wǎng)絡(luò)的路由等待時(shí)間、實(shí)施了劣質(zhì)的TCP/IP 協(xié)議堆棧造成的間歇性延遲、安全設(shè)備的包過(guò)濾、過(guò)載的系統(tǒng),或者是過(guò)載的應(yīng)用。
所有的這些事情都發(fā)生在你的應(yīng)用的通信路徑中,它們都需要加以檢查。一個(gè)慢速的Web服務(wù)器響應(yīng)可能跟Web瀏覽器和Web服務(wù)器之間、Web服務(wù)器和應(yīng)用服務(wù)器之間、應(yīng)用服務(wù)器和數(shù)據(jù)庫(kù)服務(wù)器之間、數(shù)據(jù)庫(kù)服務(wù)器和存儲(chǔ)區(qū)域網(wǎng)絡(luò)上的磁盤之間,或者應(yīng)用服務(wù)器和信用卡處理柜臺(tái)之間的某個(gè)問(wèn)題有關(guān)。
下一個(gè)問(wèn)題則來(lái)源于這類通信路徑通常由許多不同的部門間接管理的事實(shí),舉一個(gè)例子來(lái)說(shuō),建筑物設(shè)施團(tuán)隊(duì)負(fù)責(zé)布線,而另外還有許多團(tuán)隊(duì),如網(wǎng)絡(luò)團(tuán)隊(duì)、安全團(tuán)隊(duì)、程序員、數(shù)據(jù)庫(kù)管理員、存儲(chǔ)專家、系統(tǒng)管理員和硬件/軟件供應(yīng)商。從一個(gè)團(tuán)隊(duì)到另一個(gè)團(tuán)隊(duì)的通信問(wèn)題處理通常是一個(gè)巨大的挑戰(zhàn),特別是在某個(gè)部分可能被外包到國(guó)外的時(shí)候,問(wèn)題將變得更加復(fù)雜和難纏。
最后,問(wèn)題來(lái)自于人性上。沒(méi)有人想承認(rèn)它們進(jìn)行過(guò)任何更改,如果有一個(gè)歷史記錄,他們也會(huì)不同意履行這種職責(zé);即使問(wèn)題初步顯示是硬件故障或軟件Bug,人們都會(huì)保持警惕,這就造成了不必要的雙重檢查,團(tuán)隊(duì)成員必須為精確找到問(wèn)題花費(fèi)更多時(shí)間,這些浪費(fèi)的時(shí)間會(huì)給問(wèn)題的解決添加進(jìn)入更多的延遲。
查找,通信瓶頸
每一個(gè)團(tuán)隊(duì)都需要使用先前提及的工具來(lái)鑒別可能的性能瓶頸。消除性能瓶頸需要按照OSI模型棧從底端到頂端的方式進(jìn)行。
- 網(wǎng)絡(luò)團(tuán)隊(duì)?wèi)?yīng)該設(shè)法盡力消除底層的物理電纜、通信鏈路、路由和包過(guò)濾問(wèn)題。
- 系統(tǒng)管理員應(yīng)該嘗試消除可能影響應(yīng)用性能的服務(wù)器問(wèn)題。
- 開(kāi)發(fā)團(tuán)隊(duì)?wèi)?yīng)該修正他們的程序代碼,數(shù)據(jù)庫(kù)管理員團(tuán)隊(duì)則應(yīng)該評(píng)估數(shù)據(jù)庫(kù)性能的問(wèn)題。
而真正的難題通常位于尋求其它團(tuán)隊(duì)幫助消除可能的問(wèn)題來(lái)源之中。
以我的經(jīng)驗(yàn),處理此類包括各種方面問(wèn)題的最好方法是將解決問(wèn)題的職責(zé)交給單一個(gè)個(gè)人去執(zhí)行,這個(gè)人必須具有項(xiàng)目管理技巧,加上本身具備的多種技術(shù)能力,允許他能夠掌握整個(gè)IT周邊情況的概念,進(jìn)而解決問(wèn)題。
不過(guò)此中存在的問(wèn)題是,項(xiàng)目經(jīng)理類型的人通常受執(zhí)行團(tuán)隊(duì)的尊敬,因?yàn)樗麄兡軌蛟诠芾韺用娼忉尲夹g(shù)狀況,但通常他們不會(huì)得到擁有高超IT技術(shù)的技術(shù)團(tuán)隊(duì)的認(rèn)同。鑒于這種原因,我建議為項(xiàng)目經(jīng)理配備一個(gè)技術(shù)帶頭人,組成一個(gè)團(tuán)隊(duì),此團(tuán)隊(duì)?wèi)?yīng)該掌握IT部門正在使用的多種不同的IT技術(shù),這將幫助他解決與技術(shù)部門的交流,并好找技術(shù)團(tuán)隊(duì)在問(wèn)題發(fā)現(xiàn)時(shí)即將其解決。
這兩種人在解決持久問(wèn)題時(shí)都應(yīng)該被分派。這聽(tīng)起來(lái)好像有些過(guò)分,但項(xiàng)目經(jīng)理將將在管理團(tuán)隊(duì)和他們的團(tuán)隊(duì)之間提供連貫性,技術(shù)帶頭人則將有能力協(xié)同和跟蹤每一個(gè)步驟面臨的技術(shù)挑戰(zhàn)。一旦問(wèn)題得到解決,這兩個(gè)人將召開(kāi)一個(gè)事后剖析會(huì)議,以決定如何避免和檢測(cè)再發(fā)生類似問(wèn)題。
如果瓶頸非常嚴(yán)重,那么召開(kāi)一個(gè)所有必要的團(tuán)隊(duì)參加的電話會(huì)議通常是非常明智的。在這種情況下,E-mail通信將受到很大限制,因?yàn)榧夹g(shù)團(tuán)隊(duì)的成員經(jīng)常在遠(yuǎn)離E-mail的情況下解決問(wèn)題。這樣的話,直接的電話呼叫通常具有最大的優(yōu)先權(quán)。在電話會(huì)議中,項(xiàng)目經(jīng)理應(yīng)該發(fā)起電話,技術(shù)帶頭人則應(yīng)該在幕后操作,以監(jiān)視系統(tǒng)工程的細(xì)節(jié)。
就像我早先提及的,一個(gè)事后剖析會(huì)議必須被安排,并且要將從中學(xué)習(xí)到的經(jīng)驗(yàn)教訓(xùn)存檔。這將幫助最快的檢測(cè)和解決重現(xiàn)的問(wèn)題,也有可能通過(guò)信息的分析,幫助消除潛在的問(wèn)題。事后剖析文檔應(yīng)該被用來(lái)作為內(nèi)部團(tuán)隊(duì)培訓(xùn)的基礎(chǔ),這些文檔包含所有有效的改進(jìn),不管是正式的設(shè)置還是例會(huì)的一部分,并且要確保這些知識(shí)被正確的傳播。 |