當你聽到“性能瓶頸”這個詞的時候,通常出現(xiàn)在腦海中的都是CPU、內(nèi)存、磁盤和網(wǎng)絡(luò)。那些都是容易出現(xiàn)性能瓶頸的地方,但是并不是只有那些地方才是性能瓶頸的藏身之所。 這份列表還列出了其他6個值得調(diào)查的地方,它們也都有可能影響到系統(tǒng)性能。有時候,只要知道該檢查哪里或許就能避免讓你自己陷入手忙腳亂的境地。
1、CPU。CPU是計算機的大腦,這里是運算和指令操作的地方。CPU可以處理數(shù)百萬計的運算和指令,但是當這些運算的數(shù)量超過它的能力范圍時,性能就會受到影響。如果CPU的資源占用率一直保持在75%以上,那么整個系統(tǒng)的性能就會減慢。CPU需要為突發(fā)性活動留有空間,因為有時那些負載會令系統(tǒng)資源占用率在短期內(nèi)飆升至100%。CPU的負荷是最常見的性能瓶頸源頭。
2、內(nèi)存。內(nèi)存中的拇指法則是“增加更多的內(nèi)存”。當性能問題指向內(nèi)存的時候,通常公認的解決問題的辦法就是增加更多的內(nèi)存。然而,這種做法只能應(yīng)付一時只需。指向內(nèi)存的性能瓶頸通常是因為設(shè)計不佳的軟件或其他系統(tǒng)漏洞造成的。解決內(nèi)存性能問題的關(guān)鍵是在添加更多的RAM之前找出癥狀背后的真正病因。
3、存儲設(shè)備。磁盤速度、RAID類型、存儲類型和控制器技術(shù)都會影響到所謂的磁盤I/O。磁盤I/O是系統(tǒng)管理員和用戶最有可能擔心出現(xiàn)性能瓶頸的來源。即使使用目前最先進的磁盤技術(shù),也有可能遇到現(xiàn)實中和物理上的性能限制。在合并和分割磁盤上的工作負載時,最好按照最佳實務(wù)來做。與借貸存儲一樣,本地磁盤的速度仍然比速度最快的SAN還要快。
4、網(wǎng)絡(luò)。網(wǎng)絡(luò)也是最常見的性能瓶頸來源之一,但是性能瓶頸出現(xiàn)在這里的概率并不高。除非有網(wǎng)絡(luò)組件硬件出現(xiàn)故障,比如交換機接口損壞、線纜損壞、網(wǎng)卡故障或路由器配置出現(xiàn)問題,否則你還是應(yīng)該到別的地方去查找網(wǎng)絡(luò)性能瓶頸。所謂的網(wǎng)速被拖慢通常是因為這個列表中的其他9個項目造成的。
5、應(yīng)用。雖然沒有一位應(yīng)用開發(fā)者愿意聽到這種做法,但是有時候應(yīng)用軟件設(shè)計上的缺陷確實會讓它們看起來象是硬件故障造成的一樣。當靜止的系統(tǒng)的性能突然明顯受到影響,而某一款打開的應(yīng)用仍然可以順暢地運行和關(guān)閉時,那么基本上可以肯定問題就出在那款應(yīng)用上。當出現(xiàn)性能問題的時候,它就會變成系統(tǒng)管理員與開發(fā)員之間的一場戰(zhàn)役。兩方都想指責對方的不是。在費了九牛二虎之力去檢查硬件性能瓶頸之后,最后的結(jié)論是:這都是應(yīng)用造成的。
6、惡意件。在已知的性能瓶頸問題中,有很大一部分問題是由病毒、木馬和間諜軟件造成的。當這些惡意件令系統(tǒng)性能受到嚴重影響的時候,用戶們經(jīng)常會抱怨網(wǎng)絡(luò)、應(yīng)用或他們的電腦。那些性能殺手可能存在于一個或多個服務(wù)器系統(tǒng)中、用戶的工作站之中、或兩者之中都有。感染惡意件是很常見的,因此你必須采取多種保護措施來與它們對抗。殺毒軟件、反間諜軟件、本地防火墻、網(wǎng)絡(luò)防火墻以及定期安裝補丁將有助于保護你的系統(tǒng),從而避免因為它們造成的性能瓶頸。
7、工作負載。智能管理工作負載有助于避免因為工作負載不均衡或負載均衡方案不恰當導致的性能問題。在一個出現(xiàn)了性能問題的群集中添加另一個系統(tǒng)可以緩解壓力,但是這種做法更適用于虛擬環(huán)境而非物理環(huán)境。在這里,最好的建議是檢測所有性能的容量和性能,密切關(guān)注你得到的那些數(shù)據(jù)。移動工作負載,添加新系統(tǒng),然后密切關(guān)注性能。
8、失效或老化的硬件。硬件越是老舊,它就越有可能出現(xiàn)問題。有些硬件組件只能用茍延殘喘來形容,還有很多硬件隨時會引發(fā)各種問題和令人難以捉摸的故障。造成系統(tǒng)重啟、數(shù)據(jù)丟失或性能瓶頸的硬件會令系統(tǒng)管理員生不如死,因為那些故障都是不可預測的。最好的做法是堅持使用最新的硬件,使用備用硬件以及仔細地監(jiān)控你的系統(tǒng)。
9、文件系統(tǒng)。你知道你在文件系統(tǒng)上作出的選擇會對性能造成巨大的影響嗎?事實確實如此。有些文件系統(tǒng)比如JFS幾乎不會耗用CPU資源。XFS的可擴展性極高,性能也很強。NTFS是一種可恢復的高性能文件系統(tǒng)。新的EXT4文件系統(tǒng)可以高效支持非常大的文件。每一種文件系統(tǒng)都有其用途,如果用錯了地方,就會導致災難性的后果。因此,在選擇文件系統(tǒng)的種類時,請三思啊。最好是根據(jù)具體的工作選擇最佳的文件系統(tǒng)。沒有一種文件系統(tǒng)是適用于任何工作的。
10、技術(shù)。你為基礎(chǔ)設(shè)施選擇的技術(shù)會對系統(tǒng)性能造成重要的影響。例如,如果你將所有的服務(wù)都放在虛擬基礎(chǔ)設(shè)施技術(shù)之上,那么你很可能會遇到一些從未在物理系統(tǒng)上見過的性能問題;蛘撸行┕ぷ髫撦d是需要在虛擬技術(shù)上才能正常完成的。例如,LAMP(Linux、Apache、MySQL、PHP)工作負載在虛擬機上運行得更好一些,而集裝箱型的虛擬化(OpenVZ、Parallels、Solaris Zones)則適用于任何類型的工作負載。