1. gzyueqian
      13352868059
      首頁 > 新聞中心 > > 正文

      基于Linux服務器的性能分析與優化

      更新時間: 2014-05-20 17:02:09來源: 粵嵌教育瀏覽量:2894

      作為一名Linux系統管理員,主要的工作是優化系統配置,使應用在系統上以的狀態運行,但硬件問題、軟件問題、網絡環境等的復雜性和多變性,導致了對系統的優化變得異常復雜,如何定位性能問題出在哪個方面,是性能優化的一大難題。本文從系統入手,重點講述由于系統軟、硬件配置不當造成的性能問題,并且給出了檢測系統故障和優化性能的一般方法和流程。

      一、系統性能分析的目的

      1.找到系統性能的瓶頸

      系統的性能是指操作系統完成任務的有效性、穩定性和響應速度。Linux系統管理員可能經常會遇到系統不穩定、響應速度慢等問題,例如在Linux上搭建 了一個Web服務,經常出現網頁無法打開、打開速度慢等現象。遇到這些問題,就有人會抱怨Linux系統不好,其實這些都是表面現象。操作系統完成一個任 務是與系統自身設置、網絡拓樸結構、路由設備、路由策略、接入設備、物理線路等多個方面都密切相關的,任何一個環節出現問題,都會影響整個系統的性能。因 此,當Linux應用出現問題時,應當從應用程序、操作系統、服務器硬件、網絡環境等方面綜合排查,定位問題出現在哪個部分,然后集中解決。

      2.提供性能優化方案

      查找系統性能瓶頸是個復雜而耗時的過程,需要在應用程序、操作系統、服務器硬件、網絡環境等方面進行查找和定位,影響性能的是應用程序和操作系統兩個 方面,因為這兩個方面出現的問題不易察覺,隱蔽性很強。而硬件、網絡方面出現的問題,一般都能馬上定位。一旦找到了系統性能問題,解決起來就非常迅速和容 易,例如發現系統硬件存在問題,如果是物理故障,那么更換硬件就可以了,如果是硬件性能不能滿足需求,升級硬件就可以了;如果發現是網絡問題,比如帶寬不 夠、網絡不穩定,只需優化和升級網絡即可;如果發現是應用程序問題,修改或優化軟件系統即可;而如果是操作系統配置問題,修改系統參數、修改系統配置即 可。 可見,只要找到了性能瓶頸,就可以提供性能優化方案,有標準、有目的地進行系統優化。

      3.使系統硬件和軟件資源的使用達到平衡

      Linux操作系統是一個開源產品,也是一個開源軟件的實踐和應用平臺,在這個平臺下由無數的開源軟件支撐,常見的有Apache、Tomcat、 MySQL、PHP等。開源軟件的理念是自由、開放,那么Linux作為一個開源平臺,終要實現的是通過這些開源軟件的支持,以廉的成本,達到 應用性能的化。但是,系統的性能問題并非是孤立的,解決了一個性能瓶頸,可能會出現另一個性能瓶頸,所以說性能優化的終目的是:在一定范圍內使系統 的各項資源使用趨于合理并保持一定的平衡,即系統運行良好的時候恰恰就是系統資源達到了一個平衡狀態的時候。而在操作系統中,任何一項資源的過度使用都會 破壞這種平衡狀態,從而導致系統響應緩慢或者負載過高。例如,CPU資源的過度使用會造成系統中出現大量的等待進程,導致應用程序響應緩慢,而進程的大量 增加又會導致系統內存資源的增加,當物理內存耗盡時,系統就會使用虛擬內存,而虛擬內存的使用又會造成磁盤I/O的增加并加大CPU的開銷。因此,系統性 能的優化就是在硬件、操作系統、應用軟件之間找到一個平衡點。

      二、分析系統性能涉及的人員

      1. Linux系統管理人員

      在做性能優化過程中,系統管理人員承擔著很重要的任務,首先,系統管理人員要了解和掌握操作系統的當前運行狀態,例如系統負載、內存狀態、進程狀態、 CPU負荷等信息,這些信息是檢測和判斷系統性能的基礎和依據;其次,系統管理人員還有掌握系統的硬件信息,例如磁盤I/O、CPU型號、內存大小、網卡 帶寬等參數信息,然后根據這些信息綜合評估系統資源的使用情況;第三,作為一名系統管理人員,還要掌握應用程序對系統資源的使用情況,更深入的一點就是要 了解應用程序的運行效率,例如是否有程序BUG、內存溢出等問題,通過對系統資源的監控,就能發現應用程序是否存在異常,如果確實是應用程序存在問題,需 要把問題立刻反映給程序開發人員,進而改進或升級程序。 性能優化本身就是一個復雜和繁瑣的過程,系統管理人員只有了解了系統硬件信息、網絡信息、操作系統配置信息和應用程序信息才能有針對性地的展開對服務器性 能優化,這就要求系統管理員有充足的理論知識、豐富的實戰經驗以及縝密分析問題的頭腦。

      2. 系統架構設計人員

      系統性能優化涉及的第二類人員就是應用程序的架構設計人員。如果系統管理人員在經過綜合判斷后,發現影響性能的是應用程序的執行效率,那么程序架構設計人 員就要及時介入,深入了解程序運行狀態。首先,系統架構設計人員要跟蹤了解程序的執行效率,如果執行效率存在問題,要找出哪里出現了問題;其次,如果真的 是架構設計出現了問題,那么就要馬上優化或改進系統架構,設計更好的應用系統架構。

      3. 軟件開發人員

      系統性能優化一個環節涉及的是程序開發人員,在系統管理員或架構設計人員找到程序或結構瓶頸后,程序開發人員要馬上介入進行相應的程序修改。修改程序 要以程序的執行效率為基準,改進程序的邏輯,有針對性地進行代碼優化。例如,系統管理人員在系統中發現有條SQL語句耗費大量的系統資源,抓取這條執行的 SQL語句,發現此SQL語句的執行效率太差,是開發人員編寫的代碼執行效率低造成的,這就需要把這個信息反饋給開發人員,開發人員在收到這個問題后,可 以有針對性的進行SQL優化,進而實現程序代碼的優化。 從上面這個過程可以看出,系統性能優化一般遵循的流程是:首先系統管理人員查看系統的整體狀況,主要從系統硬件、網絡設備、操作系統配置、應用程序架構和 程序代碼五個方面進行綜合判斷,如果發現是系統硬件、網絡設備或者操作系統配置問題,系統管理員可以根據情況自主解決;如果發現是程序結構問題,就需要提 交給程序架構設計人員;如果發現是程序代碼執行問題,就交給開發人員進行代碼優化。這樣就完成了一個系統性能優化的過程。

      三、影響Linux性能的各種因素

      1.CPU

      CPU是操作系統穩定運行的根本,CPU的速度與性能在很大程度上決定了系統整體的性能,因此,CPU數量越多、主頻越高,服務器性能也就相對越好。但事 實并非完全如此。 目前大部分CPU在同一時間內只能運行一個線程,超線程的處理器可以在同一時間運行多個線程,因此,可以利用處理器的超線程特性提高系統性能。在 Linux系統下,只有運行SMP內核才能支持超線程,但是,安裝的CPU數量越多,從超線程獲得的性能方面的提高就越少。另外,Linux內核會把多核 的處理器當作多個單獨的CPU來識別,例如兩個4核的CPU,在Lnux系統下會被當作8個單核CPU.但是從性能角度來講,兩個4核的CPU和8個單核 的CPU并不完全等價,根據權威部門得出的測試結論,前者的整體性能要比后者低25%~30%. 可能出現CPU瓶頸的應用有郵件服務器、動態Web服務器等,對于這類應用,要把CPU的配置和性能放在主要位置。

      2.內存

      內存的大小也是影響Linux性能的一個重要的因素,內存太小,系統進程將被阻塞,應用也將變得緩慢,甚至失去響應;內存太大,導致資源浪費。Linux 系統采用了物理內存和虛擬內存兩種方式,虛擬內存雖然可以緩解物理內存的不足,但是占用過多的虛擬內存,應用程序的性能將明顯下降,要保證應用程序的高性 能運行,物理內存一定要足夠大;但是過大的物理內存,會造成內存資源浪費,例如,在一個32位處理器的Linux操作系統上,超過8GB的物理內存都將被浪費。因此,要使用更大的內存,建議安裝64位的操作系統,同時開啟Linux的大內存內核支持。 由于處理器尋址范圍的限制,在32位Linux操作系統上,應用程序單個進程只能使用2GB的內存,這樣以來,即使系統有更大的內存,應用程序也無法“享”用,解決的辦法就是使用64位處理器,安裝64位操作系統。在64位操作系統下,可以滿足所 有應用程序對內存的使用需求,幾乎沒有限制。 可能出現內存性能瓶頸的應用有打印服務器、數據庫服務器、靜態Web服務器等,對于這類應用要把內存大小放在主要位置。

      3.磁盤I/O性能 磁盤的I/O性能直接影響應用程序的性能,在一個有頻繁讀寫的應用中,如果磁盤I/O性能得不到滿足,就會導致應用停滯。好在現今的磁盤都采用了很多方法來提高I/O性能,比如常見的磁盤RAID技術。


      免費預約試聽課

      亚洲另类欧美综合久久图片区_亚洲中文字幕日产无码2020_欧美日本一区二区三区桃色视频_亚洲AⅤ天堂一区二区三区

      
      

      1. 五十六十老熟女中文字幕免费 | 日本久久一区一本精品 | 日本国产亚洲一区不卡 | 欧美黑人一级在线是看 | 亚洲精品青青操久久 | 久国产乱子精品免费视频 |