工具:

工具:

我知道 Linux 是為多用戶/並發進程構建的,但在企業級別,其中許多用於單一(但大型)應用程式以支援內部服務,其中僅服務於極少數客戶端。

在這樣的用例中,我們應該如何調整系統或核心(特別是 Red Hat Linux、Fedora、CentOS)以針對該場景進行最佳化?為了最大限度地減少延遲,減少上下文切換,使用很少的本機磁碟 I/O。

會話長度可以是持久的(因為客戶端數量很少),資料大小交換很小,但非常頻繁,例如每秒1k到2k訊息,大小從40到100位元組。

答案1

性能調優既是一門科學,也是一門黑術。已經寫了關於它的完整書籍,其中包括相當一部分內容供應商文件

您從良好的監控開始,添加負載,獲得基線,然後才開始調整併觀察調整是否達到預期結果。
沖洗並重複,直到獲得最佳結果。

您沒有提及您的主要 RHEL 或 CentOS 版本,但它們都包含自動調整,例如tuned守護程式。可以從中選擇預先定義的效能設定文件tuned-adm list ,然後使用 啟動tune-adm profile <profile-name>

對於您的用例,RHEL 7 配置文件latency-performance聽起來您可能會從中受益:

latency-performance專注於降低延遲的伺服器設定檔。建議對延遲敏感的工作負載使用此配置文件,這些工作負載受益於 c 狀態調整和透明大頁提高的 TLB 效率。透過設定intel_pstate和,此設定檔更注重效能而不是節能max_perf_pct=100。它啟用透明大頁面,用於cpupower設定效能 cpufreq 調控器,並要求cpu_dma_latency1

對於更一般的 Linux 調優布蘭丹·格雷格製作了許多視覺化圖表,說明在系統的哪個部分使用哪種工具,這些圖表是非常好的備忘單:

工具:

性能可觀察性

使用哪些選項來sar監視:

<code>sar</code> 選項

並且密切相關:

Linux 基準測試工具

將觀察結果轉化為調整:

調優工具

相關內容