首頁 > linux教程 > Linux系統服務管理 閱讀:0更新時間:2020-04-25 22:38:57

影響Linux系統性能的因素有哪些?

評價 linux 系統性能的好壞,大致可以從 Linux 完成任務的有效性、穩定性以及響應速度等方面進行考量。作為 Linux 系統管理員,可能經常會遇到系統不穩定、響應速度慢等問題。

例如,在 Linux 系統搭建了一個 Web 服務,就可能出現網頁無法打開、打開速度慢等現象,而遇到這些問題時,有人可能會抱怨 Linux 系統不好,其實這些不過是表面現象。

要知道,操作系統在完成某個任務時,與系統自身設置、網絡拓撲結構、路由設備、接入設備、物理線路等多個方面都密切相關,任何一個環節出現問題,都會影響整個系統的性能。

對于 Linux 系統來說,當運行應用程序出現問題時,要從應用程序本身、操作系統、服務器硬件和網絡環境等方面綜合排查,深度剖析問題出現在哪個部分,才能有針對性地解決。

那么,影響 Linux 系統性能的因素主要有哪些呢?

CPU

CPU 是操作系統穩定運行的根本,CPU 的速度與性能很大一部分決定了系統整體的性能,因此 CPU 數量越多、主頻越高,服務器性能也就相對越好。

但亊實也并非完全如此,目前大部分 CPU 在同一時間內只能運行一個線程,超線程的處理器可以在同一時間運行多個線程,因而可以利用處理器的超線程特性提髙系統性能。

而在 Linux 系統下,只有運行 SMP 內核才能支持超線程,但是安裝的 CPU 數量越多,從超線程獲得的性能上的提高就越少。另外,Linux 內核會把多核的處理器當作多個單獨的 CPU 來識別,例如兩顆 4 核的 CPU 在 Linux 系統下會認為是 8 顆 CPU。

注意,從性能角度來講,兩顆 4 核的 CPU 和 8 顆單核的 CPU 并不完全等價,根據權威部門得出的測試結論,前者的整體性能要低于后者 25%?30%。

在 Linux 系統中,郵件服務器、動態 Web 服務器等應用對 CPU 性能的要求相對較高,因此對于這類應用,要把 CPU 的配置和性能放在主要位置。

內存

內存的大小也是影響 Linux 性能的一個重要的因素。內存太小,系統進程將被阻塞,應用也將變得緩慢,甚至失去響應;內存太大,會導致資源浪費。

Linux 系統采用了物理內存和虛擬內存的概念,虛擬內存雖然可以緩解物理內存的不足,但是占用過多的虛擬內存,應用程序的性能將明顯下降。要保證應用程序的高性能運行,物理內存一定要足夠大,但不應過大,否則會造成內存資源的浪費。

例如,在一個 32 位處理器的 Linux 操作系統上,超過 8GB 的物理內存都將被浪費。因此,要使用更大的內存,建議安裝 64 位的操作系統,同時開啟 Linux 的大內存內核支持。

不僅如此,由于處理器尋址范圍的限制,在 32 位 Linux 操作系統上,應用程序單個進程最大只能使用 2GB 的內存。這樣即使系統有更大的內存,應用程序也無法“享”用,解決的辦法就是使用 64 位處理器,安裝 64 位操作系統,在 64 位操作系統下,可以滿足所有應用程序對內存的使用需求,幾乎沒有限制。

對內存性能要求比較的應用有打印服務器、數據庫服務器和靜態 Web 服務器等,因此對于這類應用,要把內存大小放在主要位置。

磁盤讀寫(I/O)能力

磁盤的 I/O 能力會直接影響應用程序的性能。比如說,在一個需要頻繁讀寫的應用中,如果磁盤 I/O 性能得不到滿足,就會導致應用的停滯。

不過,好在現今的磁盤都采用了很多方法來提高 I/O 性能,比如常見的磁盤 RAID 技術。

RAID 的英文全稱為 Redundant Array of Independent Disks,翻譯成中文為獨立磁盤冗余陣列,簡稱磁盤陣列。RAID 通過把多塊獨立的磁盤(物理硬盤)按不同方式組合起來,形成一個磁盤組(邏輯硬盤),從而提供比單個硬盤更高的 I/O 性能和數據冗余。

通過 RAID 技術組成的磁盤組,就相當于一個大硬盤,用戶可以對它進行分區格式化、建立文件系統等操作,跟單個物理硬盤一模一樣,惟一不同的是 RAID 磁盤組的 I/O 性能比單個硬盤要高很多,同時對數據的安全性也有很大提升。

有關 RAID 更多的介紹,可閱讀《Linux RAID(磁盤列陣)完全攻略》一節做深入了解。

網絡帶寬

Linux 下的各種應用,一般都是基于網絡的,因此網絡帶寬也是影響性能的一個重要因素,低速的、不穩定的網絡將導致網絡應用程序的訪問阻塞;而穩定、高速的帶寬,可以保證應用程序在網絡上暢通無阻地運行。

幸運的是,現在的網絡一般都是千兆帶寬,或者光纖網絡,帶寬問題對應用程序性能造成的影響也在逐步降低。

通過對以上 4 個方面的講述,不難看出,各個方面之間都是相互依賴的,不能孤立地從某個方面來排查問題。換句話說,當一個方面出現性能問題時,往往會引發其他方面出現問題。

例如,大量的磁盤讀寫勢必消耗 CPU 和 I/O 資源,而內存的不足會導致頻繁地進行內存頁寫入磁盤、磁盤寫到內存的操作,造成磁盤 I/O 瓶頸,同時大量的網絡流量也會造成 CPU 過載??傊?,在處理性能問題時,應縱觀全局,從各個方面進行綜合考慮。

beylze編程學院,一個分享編程知識和seo優化知識的網站。跟著beylze一起學習,每天都有進步。

通俗易懂,深入淺出,一篇文章只講一個知識點。

文章不深奧,不需要鉆研,在公交、在地鐵、在廁所都可以閱讀,隨時隨地漲姿勢。

文章不涉及代碼,不燒腦細胞,人人都可以學習。

當你決定關注beylze(公眾號:beylze),你已然超越了90%的其他從業者!

優秀教程

国产亚洲欧美日韩