亞寵展、全球?qū)櫸锂a(chǎn)業(yè)風(fēng)向標(biāo)——亞洲寵物展覽會(huì)深度解析
840
2022-05-28
評(píng)價(jià) linux 系統(tǒng)性能的好壞,大致可以從 Linux 完成任務(wù)的有效性、穩(wěn)定性以及響應(yīng)速度等方面進(jìn)行考量。作為 Linux 系統(tǒng)管理員,可能經(jīng)常會(huì)遇到系統(tǒng)不穩(wěn)定、響應(yīng)速度慢等問題。
例如,在 Linux 系統(tǒng)搭建了一個(gè) Web 服務(wù),就可能出現(xiàn)網(wǎng)頁無法打開、打開速度慢等現(xiàn)象,而遇到這些問題時(shí),有人可能會(huì)抱怨 Linux 系統(tǒng)不好,其實(shí)這些不過是表面現(xiàn)象。
要知道,操作系統(tǒng)在完成某個(gè)任務(wù)時(shí),與系統(tǒng)自身設(shè)置、網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)、路由設(shè)備、接入設(shè)備、物理線路等多個(gè)方面都密切相關(guān),任何一個(gè)環(huán)節(jié)出現(xiàn)問題,都會(huì)影響整個(gè)系統(tǒng)的性能。
對(duì)于 Linux 系統(tǒng)來說,當(dāng)運(yùn)行應(yīng)用程序出現(xiàn)問題時(shí),要從應(yīng)用程序本身、操作系統(tǒng)、服務(wù)器硬件和網(wǎng)絡(luò)環(huán)境等方面綜合排查,深度剖析問題出現(xiàn)在哪個(gè)部分,才能有針對(duì)性地解決。
那么,影響 Linux 系統(tǒng)性能的因素主要有哪些呢?
CPU
CPU 是操作系統(tǒng)穩(wěn)定運(yùn)行的根本,CPU 的速度與性能很大一部分決定了系統(tǒng)整體的性能,因此 CPU 數(shù)量越多、主頻越高,服務(wù)器性能也就相對(duì)越好。
但亊實(shí)也并非完全如此,目前大部分 CPU 在同一時(shí)間內(nèi)只能運(yùn)行一個(gè)線程,超線程的處理器可以在同一時(shí)間運(yùn)行多個(gè)線程,因而可以利用處理器的超線程特性提髙系統(tǒng)性能。
而在 Linux 系統(tǒng)下,只有運(yùn)行 SMP 內(nèi)核才能支持超線程,但是安裝的 CPU 數(shù)量越多,從超線程獲得的性能上的提高就越少。另外,Linux 內(nèi)核會(huì)把多核的處理器當(dāng)作多個(gè)單獨(dú)的 CPU 來識(shí)別,例如兩顆 4 核的 CPU 在 Linux 系統(tǒng)下會(huì)認(rèn)為是 8 顆 CPU。
注意,從性能角度來講,兩顆 4 核的 CPU 和 8 顆單核的 CPU 并不完全等價(jià),根據(jù)權(quán)威部門得出的測試結(jié)論,前者的整體性能要低于后者 25%?30%。
在 Linux 系統(tǒng)中,郵件服務(wù)器、動(dòng)態(tài) Web 服務(wù)器等應(yīng)用對(duì) CPU 性能的要求相對(duì)較高,因此對(duì)于這類應(yīng)用,要把 CPU 的配置和性能放在主要位置。
內(nèi)存
內(nèi)存的大小也是影響 Linux 性能的一個(gè)重要的因素。內(nèi)存太小,系統(tǒng)進(jìn)程將被阻塞,應(yīng)用也將變得緩慢,甚至失去響應(yīng);內(nèi)存太大,會(huì)導(dǎo)致資源浪費(fèi)。
Linux 系統(tǒng)采用了物理內(nèi)存和虛擬內(nèi)存的概念,虛擬內(nèi)存雖然可以緩解物理內(nèi)存的不足,但是占用過多的虛擬內(nèi)存,應(yīng)用程序的性能將明顯下降。要保證應(yīng)用程序的高性能運(yùn)行,物理內(nèi)存一定要足夠大,但不應(yīng)過大,否則會(huì)造成內(nèi)存資源的浪費(fèi)。
例如,在一個(gè) 32 位處理器的 Linux 操作系統(tǒng)上,超過 8GB 的物理內(nèi)存都將被浪費(fèi)。因此,要使用更大的內(nèi)存,建議安裝 64 位的操作系統(tǒng),同時(shí)開啟 Linux 的大內(nèi)存內(nèi)核支持。
不僅如此,由于處理器尋址范圍的限制,在 32 位 Linux 操作系統(tǒng)上,應(yīng)用程序單個(gè)進(jìn)程最大只能使用 2GB 的內(nèi)存。這樣即使系統(tǒng)有更大的內(nèi)存,應(yīng)用程序也無法“享”用,解決的辦法就是使用 64 位處理器,安裝 64 位操作系統(tǒng),在 64 位操作系統(tǒng)下,可以滿足所有應(yīng)用程序?qū)?nèi)存的使用需求,幾乎沒有限制。
對(duì)內(nèi)存性能要求比較的應(yīng)用有打印服務(wù)器、數(shù)據(jù)庫服務(wù)器和靜態(tài) Web 服務(wù)器等,因此對(duì)于這類應(yīng)用,要把內(nèi)存大小放在主要位置。
磁盤讀寫(I/O)能力
磁盤的 I/O 能力會(huì)直接影響應(yīng)用程序的性能。比如說,在一個(gè)需要頻繁讀寫的應(yīng)用中,如果磁盤 I/O 性能得不到滿足,就會(huì)導(dǎo)致應(yīng)用的停滯。
不過,好在現(xiàn)今的磁盤都采用了很多方法來提高 I/O 性能,比如常見的磁盤 RAID 技術(shù)。
RAID 的英文全稱為 Redundant Array of Independent Disks,翻譯成中文為獨(dú)立磁盤冗余陣列,簡稱磁盤陣列。RAID 通過把多塊獨(dú)立的磁盤(物理硬盤)按不同方式組合起來,形成一個(gè)磁盤組(邏輯硬盤),從而提供比單個(gè)硬盤更高的 I/O 性能和數(shù)據(jù)冗余。
通過 RAID 技術(shù)組成的磁盤組,就相當(dāng)于一個(gè)大硬盤,用戶可以對(duì)它進(jìn)行分區(qū)格式化、建立文件系統(tǒng)等操作,跟單個(gè)物理硬盤一模一樣,惟一不同的是 RAID 磁盤組的 I/O 性能比單個(gè)硬盤要高很多,同時(shí)對(duì)數(shù)據(jù)的安全性也有很大提升。
有關(guān) RAID 更多的介紹,可閱讀《Linux RAID(磁盤列陣)完全攻略》一節(jié)做深入了解。
網(wǎng)絡(luò)帶寬
Linux 下的各種應(yīng)用,一般都是基于網(wǎng)絡(luò)的,因此網(wǎng)絡(luò)帶寬也是影響性能的一個(gè)重要因素,低速的、不穩(wěn)定的網(wǎng)絡(luò)將導(dǎo)致網(wǎng)絡(luò)應(yīng)用程序的訪問阻塞;而穩(wěn)定、高速的帶寬,可以保證應(yīng)用程序在網(wǎng)絡(luò)上暢通無阻地運(yùn)行。
幸運(yùn)的是,現(xiàn)在的網(wǎng)絡(luò)一般都是千兆帶寬,或者光纖網(wǎng)絡(luò),帶寬問題對(duì)應(yīng)用程序性能造成的影響也在逐步降低。
通過對(duì)以上 4 個(gè)方面的講述,不難看出,各個(gè)方面之間都是相互依賴的,不能孤立地從某個(gè)方面來排查問題。換句話說,當(dāng)一個(gè)方面出現(xiàn)性能問題時(shí),往往會(huì)引發(fā)其他方面出現(xiàn)問題。
例如,大量的磁盤讀寫勢必消耗 CPU 和 I/O 資源,而內(nèi)存的不足會(huì)導(dǎo)致頻繁地進(jìn)行內(nèi)存頁寫入磁盤、磁盤寫到內(nèi)存的操作,造成磁盤 I/O 瓶頸,同時(shí)大量的網(wǎng)絡(luò)流量也會(huì)造成 CPU 過載??傊?,在處理性能問題時(shí),應(yīng)縱觀全局,從各個(gè)方面進(jìn)行綜合考慮。
Linux 網(wǎng)絡(luò)
版權(quán)聲明:本文內(nèi)容由網(wǎng)絡(luò)用戶投稿,版權(quán)歸原作者所有,本站不擁有其著作權(quán),亦不承擔(dān)相應(yīng)法律責(zé)任。如果您發(fā)現(xiàn)本站中有涉嫌抄襲或描述失實(shí)的內(nèi)容,請(qǐng)聯(lián)系我們jiasou666@gmail.com 處理,核實(shí)后本網(wǎng)站將在24小時(shí)內(nèi)刪除侵權(quán)內(nèi)容。