什麼是效能調優?
效能調優是調整系統設定以提高計算資源利用率,資料吞吐量和使用者體驗的過程。它需要非常瞭解系統的硬體和軟體元件,以及系統之間的許多互動。效能調優有時也被稱為“黑色藝術”。
效能調優經常與故障排查相混淆。但兩者有很多區別。在做故障診斷時,主要目標是發現並解決問題。在效能調優時,主要目標是透過利用系統執行時的資源和環境使得系統以儘可能更好的效能執行。
效能調優的目的
1、為某一特定的角色來調優
- 資料庫伺服器
- 檔案伺服器
- Web 伺服器
- 電子郵件伺服器
- 中介軟體等
2、找出和調整系統瓶頸
3、獲得更快的響應時間或者更大的吞吐量
相關概念
調優目標:設定明確的效能目標可以在成功調節效能後獲得可度量的收益。
效能瓶頸:當資源或裝置達到其最大操作容量時,就出現了瓶頸,瓶頸會影響整體效能。
人為因素:在系統調優時,必須考慮人的主觀因素。
負載最佳化:效能調優通常針對特定工作負載進行最佳化,但這時可能其他工作程序會被這些設定所阻礙。
吞吐量和延遲:吞吐量是指給定時間內資源可以傳輸或處理的資料量的度量;延遲是資源必須等待開始資料傳輸或處理的延遲。
調優的方式
1、業務層調優
- 關閉無用的服務。
- 調整業務流程,例如合併一些相似的業務
- 關閉一些影響效能的定時任務
2、應用層調優
- 是否能夠把花費大量資源的應用滯後,例如 DNS 反向解析。
- 提高日誌的等級
- 使用非同步寫入日誌
3、Kernel層調優
調優辦法:
USE 方法(utilization saturation errors)能夠快速分析系統效能問題,其主要思想是首先識別每個單獨的資源,然後檢查每個資源的錯誤,利用率和飽和度。
一言蔽之,就是:對於所有的資源,檢視它的使用率,飽和度和錯誤值。這些術語定於如下:
-
資源:伺服器上各種硬體裝置,CPU,記憶體,硬碟,網路裝置等。
-
利用率:在單位時間內,資源用於服務工作的時間百分比。不能接受更多工作的程度被視為飽和度例如 CPU 的平均執行佇列。例如,單個CPU 執行在 90%左右的使用率上。
-
飽和度:資源不能夠再服務更多額外的工作的程度。例如,CPU 平均執行佇列為 3。
-
錯誤:錯誤事件的個數。某個網路介面傳送了50次滯後衝突。
度量和資源型別
-
CPU 資源:通常度量 CPU 效能的指標是CPU 利用率,平均負載和平均佇列。
-
記憶體資源:記憶體是一種容量資源,通常度量效能的指標是空閒容量,吞吐量和錯誤。
-
儲存裝置:即是容量資源也是I/O 資源,通常度量的指標是空閒容量,IOPS 和 I/O 等待時間和吞吐量。
-
網路資源:被認為是一種 I/O 資源,通常度量的指標是吞吐量,往返時間,延遲,包丟失,錯誤和衝突。
術語
-
IOPS:每秒傳送的輸入輸出操作的次數,是資料傳輸的度量方法。對於磁碟而已,IOPS 是指每秒讀寫次數。
-
吞吐量:用於評價速度,在資料傳輸方面,吞吐量用於描述資料的傳輸速度(位元組/秒)。
-
響應時間:一次操作完成的時間,包括等待和服務的時間。
-
延遲:描述用來等待服務的時間
-
使用率:在給定的時間內資源的繁忙程度。
-
工作負載:對系統所施加的工作壓力。
-
瓶頸:限制系統效能的那個資源。
監控工具