运维基础(9)Linux性能调优三大系统
這個系統好慢、網站又打不開了,太卡了,又沒響應了!”相信大家都遇到過這種抱怨,這是應用系統出現了性能問題,需要性能調優。
性能調優,要求對計算機硬件、操作系統和應用有相當深入的了解。
調節三者之間的關系,實現整個系統(硬件、操作系統、應用)的性能最優化,不斷滿足現有的業務需求。
-
獲得更好的系統性能
-
滿足不斷增加的業務需求
通過性能調優,可以用更少的硬件資源,支撐更大量的業務發展,從而達到節省硬件投資的目的。
同時,可以在資源有限,不能擴容的情況下,提升系統的響應能力,從而為用戶帶來更好的使用體驗。
我們重點說一下在進行性能優化時,硬件、操作系統、應用程序這三大系統,需要關注的一些細節和具體的優化思路:
-
硬件優化。主要是對硬件選型,例如 CPU、內存、磁盤、網卡等。
-
操作系統優化。主要包含了操作系統的系統參數、內核參數、進程參數、文件系統、磁盤 IO 等。
-
應用程序優化。主要包含對應用軟件優化,例如:Apache、Nginx、Redis、MySQL、Keepalived、Kafka 等。
下面展開介紹這三大系統優化。
硬件優化
在上線一個業務系統之前,首先需要進行硬件采購。硬件采購的標準是業務系統的運行特點和對資源的占用情況。
舉例一:如果要上線一套 Redis 集群
Redis 是內存數據庫,特點是占用內存會非常大。采購的時候要重點考慮的硬件資源就是內存,第一內存要大,第二內存資源要可擴展。
Redis 對磁盤讀、寫并不會很頻繁,同時,占用的磁盤空間也不會太大。對磁盤的采購,可以不需要太大的磁盤空間,普通的 SAS 磁盤即可。
舉例二:如果要上線的是一套數據庫系統
數據庫系統的特點是比較耗費 CPU,也比較耗費內存,對數據安全性要求很高。
無論你使用的是 MySQL、SQL Server 還是 Oralce,都需要配置足夠快的 CPU,足夠大的內存,足夠穩定可靠的硬盤,同時硬盤需要做 RAID,RAID10 最好。
操作系統優化
操作系統介于硬件和應用之間,起到一個承上啟下的作用。
相關的系統參數設置關系到內存、IO 的調用機制、文件系統的使用效率、進程調度的優先級。
基于 Linux 操作系統的性能優化,具體的優化包含如下幾個方面:
-
操作系統安裝優化
-
進程管理調優
-
內存資源調優
-
IO 調度調優
-
文件系統調優
-
網絡傳輸調優
下圖展示了 Linux 的內部結構以及與硬件的協助機制,非常重要。
最底層,是硬件設備(Hardware);往上是固化到硬件中的程序(Firmware);接著是設備驅動程序(Driver),是一種特定形式的軟件程序,實現與硬件設備的交互。
操作系統層面的組成部分,首先是系統內核(Kernel),在內核基礎之上是系統庫、共享庫等系統運行必須的庫文件(Libraries)。
最上層是系統中運行的應用程序(Applications),就是我們在系統中安裝的各種應用軟件,例如 MySQL、Samba、FTP 等。
由此可知,操作系統優化是一個從底層硬件到上層軟件應用,逐級優化的過程。
應用程序優化
最直觀的表現是從日志中發現異常,然后根據日志中的異樣進行綜合判斷得出優化結論。
最容易忽略的是代碼優化,有些性能問題完全是代碼不合理。比如,for 循環次數過多、作了很多無謂的條件判斷、相同邏輯重復多次等。
在排除代碼層面的問題后,就需要考慮架構層面、參數配置層面等方面的問題。
架構層面的調優包括讀寫分離、多從庫負載均衡、水平和垂直分庫分表,還需要的調優手段有連接池調優、數據庫參數調優等。
最后,通過一個對 MySQL 數據庫進行調優,簡單總結一下需要關注的方面有哪些:
-
MySQL 安裝編譯優化
-
MySQL 配置文件優化
-
MySQL 存儲引擎優化
-
優化表類型(MyISAM 或 InnoDB)
-
查詢緩存優化
-
SQL 語句優化
-
鎖機制優化
-
MySQL 服務器優化(操作系統參數、存儲盤換 SSD 等)
歡迎關注微信公眾號【廈門微思網絡】。www.xmws.cn專業IT認證培訓19周年
主要課程:思科、華為、紅帽、ORACLE、VMware、CISP、PMP等認證培訓及考證
往期回顧
往期回顧:
運維基礎(1)Nginx
運維基礎(2)實用工具篇
運維基礎(3)備份篇
運維基礎(4)流量監控工具篇
運維基礎(5)Ansible
運維基礎(6)CI / CD
運維基礎(7)Ansible Tower
運維基礎(8)shell腳本
總結
以上是生活随笔為你收集整理的运维基础(9)Linux性能调优三大系统的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 网工路由基础(3)RIP原理与配置
- 下一篇: Linux 问题分析,性能优化