Linux運維人員你知道為什么要性能調優嗎?
今天小編要跟大家分享的文章是關于Linux運維人員你知道為什么要性能調優嗎?從事Linux系統運維的小伙伴遇到過這種情況,“這個系統好慢、網站又打不開了,太卡了,又沒響應了!”相信大家都遇到過這種抱怨,這是應用系統出現了性能問題,需要性能調優。Linux入門新手和正在Linux學習的小伙伴快來看一看吧,希望能夠對大家有所幫助!
性能調優,要求對計算機硬件、操作系統和應用有相當深入的了解。調節三者之間的關系,實現整個系統(硬件、操作系統、應用)的性能最優化,不斷滿足現有的業務需求。下面就來和小編一起來看一看吧!
一、為什么性能調優?
說到底就倆原因:
· 獲得更好的系統性能
· 滿足不斷增加的業務需求
通過性能調優,可以用更少的硬件資源,支撐更大量的業務發展,從而達到節省硬件投資的目的。
同時,可以在資源有限,不能擴容的情況下,提升系統的響應能力,從而為用戶帶來更好的使用體驗。
二、性能調優三大系統
我們重點說一下在進行性能優化時,硬件、操作系統、應用程序這三大系統,需要關注的一些細節和具體的優化思路:
· 硬件優化。主要是對硬件選型,例如CPU、內存、磁盤、網卡等。
· 操作系統優化。主要包含了操作系統的系統參數、內核參數、進程參數、文件系統、磁盤IO等。
· 應用程序優化。主要包含對應用軟件優化,例如:Apache、Nginx、Redis、MySQL、Keepalived、Kafka等。
下面展開介紹這三大系統優化。
1、硬件優化
在上線一個業務系統之前,首先需要進行硬件采購。硬件采購的標準是業務系統的運行特點和對資源的占用情況。
舉例一:如果我們要上線一套Redis集群
Redis是內存數據庫,特點是占用內存會非常大。采購的時候要重點考慮的硬件資源就是內存,第一內存要大,第二內存資源要可擴展。
Redis對磁盤讀、寫并不會很頻繁,同時,占用的磁盤空間也不會太大。對磁盤的采購,可以不需要太大的磁盤空間,普通的SAS磁盤即可。
舉例二:如果我們要上線的是一套數據庫系統
數據庫系統的特點是比較耗費CPU,也比較耗費內存,對數據安全性要求很高。
無論你使用的是MySQL、SQL Server還是Oralce,都需要配置足夠快的CPU,足夠大的內存,足夠穩定可靠的硬盤,同時硬盤需要做RAID,RAID10最好。
2、操作系統優化
操作系統介于硬件和應用之間,起到一個承上啟下的作用。
相關的系統參數設置關系到內存、IO的調用機制、文件系統的使用效率、進程調度的優先級。
基于Linux操作系統的性能優化,具體的優化包含如下幾個方面:
· 操作系統安裝優化
· 進程管理調優
· 內存資源調優
· IO調度調優
· 文件系統調優
· 網絡傳輸調優
下圖展示了Linux的內部結構以及與硬件的協助機制,非常重要。
最底層,是硬件設備(Hardware);往上是固化到硬件中的程序(Firmware);接著是設備驅動程序(Driver),是一種特定形式的軟件程序,實現與硬件設備的交互。
操作系統層面的組成部分,首先是系統內核(Kernel),在內核基礎之上是系統庫、共享庫等系統運行必須的庫文件(Libraries)。
最上層是系統中運行的應用程序(Applications),就是我們在系統中安裝的各種應用軟件,例如MySQL、Samba、FTP等。
由此可知,操作系統優化是一個從底層硬件到上層軟件應用,逐級優化的過程。
3、應用程序優化
最直觀的表現是從日志中發現異常,然后根據日志中的異樣進行綜合判斷得出優化結論。
最容易忽略的是代碼優化,有些性能問題完全是代碼不合理。比如,for循環次數過多、作了很多無謂的條件判斷、相同邏輯重復多次等。
在排除代碼層面的問題后,就需要考慮架構層面、參數配置層面等方面的問題。
架構層面的調優包括讀寫分離、多從庫負載均衡、水平和垂直分庫分表,還需要的調優手段有連接池調優、數據庫參數調優等。
最后,通過一個對MySQL數據庫進行調優,簡單總結一下需要關注的方面有哪些:
· MySQL安裝編譯優化
· MySQL配置文件優化
· MySQL存儲引擎優化
· 優化表類型(MyISAM或InnoDB)
· 查詢緩存優化
· SQL語句優化
· 鎖機制優化
· MySQL服務器優化(操作系統參數、存儲盤換SSD等)
以上就是小編今天為大家分享的關于Linux運維人員你知道為什么要性能調優嗎?的文章,希望本篇文章能夠對正在從事Linux運維工作的小伙伴們有所幫助。想要了解更多Linux相關知識記得關注馬哥教育官網哦!最后祝愿小伙伴們工作順利!
聲明:文章來源于網絡,侵刪!