SLES 15 與 RHEL 9:企業伺服器效能對比

SUSE Linux Enterprise Server 15 與 Red Hat Enterprise Linux 9 之間沒有絕對的效能贏家。一個合理的答案取決於特定的 Service Pack 或次要版本、硬體配置、核心更新、調優方案、應用程式堆疊和工作負載。目前的 SUSE SLES 15 SP7 調優指南和 Red Hat 的 RHEL 9 文件描述了調優功能,但並未提供一個可控的、通用的直接速度對比結果。

這一點很重要,因為 SLES 15 SP7 的文檔指出其基於 Linux 6.4 內核,而 Red Hat 的文檔則指出 RHEL 9 基於 5.14 內核,並說明它會將更新的更改移植到其內核流中。僅憑這些版本標籤無法預測哪個發行版運行資料庫、Web 服務或虛擬機器的速度更快。應將它們視為產品訊息,然後對您實際計劃運行的工作負載進行基準測試。

關於 SLES 15 和 RHEL 9,可以驗證哪些資訊?

區域已根據當前產品文件核實它無法證明什麼
核心串流SLES 15 SP7 列出了 Linux 6.4;RHEL 9 使用基於 5.14 內核流的內核,並進行了向後移植和 Red Hat 更改。上游基礎版本更大並不一定意味著應用程式吞吐量更高或延遲更低。
系統調優這兩個發行版都提供了 TuneD 配置說明。 SUSE 提供了自動設定建議的說明;Red Hat 表示自動選擇的配置會因機器和設定而異。單憑設定檔名稱無法判斷兩個系統上是否啟用了相同的參數。
工作負載選項兩者都提供了針對 CPU、儲存、網路、記憶體和虛擬化工作負載進行調優的詳細方法。功能可用性並不能保證特定伺服器或應用程式能夠從每項調優設定中受益。
相互交鋒比分公開的基準測試結果可以比較特定係統配置,前提是其設定完全公開。來自不同硬體、軟體版本或調優選擇的分數無法確定作業系統是否是造成問題的原因。

在比較機器之前,請記錄每台機器上已安裝的確切版本和目前設定檔。例如,收集 `<version>` cat /etc/os-release、uname -r`<version>` 和 ` sudo tuned-adm active<version>`。請使用版本輸出,而不是「SLES 15」或「RHEL 9」等市場名稱作為測試標籤。

SLES 15 SP7 的新核心是否使其速度比 RHEL 9 更快?

核心版本本身並非基準測試分數。 Red Hat 維護一個穩定的主要版本內核流,並向後移植選定的修復和功能;因此,一個報告版本為 5.14 的 RHEL 9 核心可能包含來自更新上游版本的功能。 SUSE 也維護並更新其自身支援的核心流。應用程式的行為取決於特定的修復、驅動程式、硬體支援、配置以及工作負載所執行的程式碼路徑。

操作:記錄兩個測試系統的完整核心軟體包版本和發布等級。在調查某個功能或驅動程式時,請查閱各供應商針對該確切版本的發行說明和支援矩陣,而不僅僅比較前兩位數字uname -r。

預設的 TuneD 配置是否等效?

不應假定兩者完全相同。 TuneD在兩個生態系統中都存在,但已安裝的設定檔集、自動推薦、設定檔內容和本機覆蓋設定可能有所不同。 SUSE 的 SLES 15 SP7 指南描述了基於系統配置的設定檔建議。 Red Hat 的 RHEL 9 文件也指出,自動設定檔選擇取決於機器類型和系統設定。即使兩台主機都報告了名稱相同的配置文件,也應在將配置視為相同之前,請驗證其更改內容。

操作:在每台主機上執行sudo tuned-adm active命令sudo tuned-adm list。儲存輸出結果和所有自訂設定檔。對於「預設安裝」對比,請保留並記錄各廠商支援的預設設定。對於「最佳效能」對比,請根據廠商指南分別調整每個作業系統,然後報告所使用的設定檔和設定。

不要一次性應用所有效能設定檔。設定檔之間可能存在衝突—例如,一個注重吞吐量的儲存設定可能會被另一個增加磁碟休眠的設定所抵銷。每次只更改一個相關的變量,確認服務保持穩定,並保留回滾記錄。

哪種系統比較適合你的工作負載?

通常情況下,工作負載比廣泛的發行標籤更重要。這些是測試優先級,而不是對哪家供應商會勝出的承諾:

  • CPU密集型應用:使用生產環境的編譯器、執行環境、函式庫和安全性設定。測量每秒完成的工作量和CPU時間。微基準測試可以幫助解釋差異,但它不能取代應用測試。
  • 資料庫和記憶體密集型服務:使用具有代表性的資料庫版本、模式、工作集大小、並發性和持久化策略。追蹤每秒事務數以及中位數和尾部延遲;較高的平均速率可能會掩蓋較慢的請求。
  • 儲存密集型服務:保持相同的硬碟型號、控制器韌體、檔案系統、掛載選項、資料集和佇列深度。測量實際的讀寫混合比例和延遲分佈,而不僅僅是峰值順序吞吐量。
  • 網路服務:保持網路卡、韌體、交換器路徑、MTU、卸載設定和用戶端負載一致。在預期連接數下測量應用程式吞吐量和延遲。
  • 虛擬機器或容器:在相同的虛擬機器管理程式或容器堆疊上進行比較,確保 CPU 和記憶體分配、主機原則、客戶機設定檔和鏡像都相同。如果密度和資源爭用情況能夠反映生產環境,則應納入比較。
  • 對功率敏感的系統:應報告每完成單位工作所消耗的能量,而不僅僅是峰值速度。一個系統雖然耗時更長但功率消耗更低,但對於批量作業而言,其總能耗可能並不更低。

如果您不清楚時間都花在了哪裡,請在進行調優之前,先對應用程式進行效能分析,或監控 CPU 使用率、記憶體壓力、I/O 等待時間、網路飽和度以及運行佇列。否則,即使 CPU 效能提升,也無法解決儲存瓶頸問題。

如何進行公平的比較?

首先要先明確你要回答的問題。 「哪個系統安裝後速度較快?」與「哪個系統經過官方支援的生產環境調優後速度較快?」是不同的問題。不要將一個發行版的調優配置與另一個發行版的預設配置進行比較,然後就將結果稱為作業系統之間的比較。

  1. 平台匹配:盡可能使用相同的伺服器型號,包括相同的 CPU 步進、記憶體配置、BIOS/韌體、儲存、網卡和功率限制。
  2. 凍結軟體詳細資訊:記下 SLES 服務包和更新等級、RHEL 次要版本和更新等級、核心包、應用程式版本、執行時間/編譯器、韌體以及相關的安全緩解措施。
  3. 控製配置:記錄 TuneD 設定檔、CPU 調速器或電源模式、NUMA 和巨頁設定、檔案系統和掛載選項以及應用程式參數。對於開箱即用的測試,請保持預設設定;對於最佳化測試,請有意調整兩個系統。
  4. 使用與生產環境類似的數據和負載:確保測試時間足夠長,以達到穩定的運行狀態,並包含重要的並發性和數據規模。定義快取狀態和預熱流程,使每次運行的初始狀態都保持一致。
  5. 重複測試並報告結果差異:盡可能改變測試順序,重複執行測試,並顯示中位數以及運行間偏差。報告吞吐量以及相關的 p95/p99 延遲、資源消耗和錯誤訊息。
  6. 保留可重複的記錄:發布系統配置、基準測試版本、命令或腳本、調優差異以及原始結果。如果結果來自公開的標準化基準測試,請遵循該基準測試目前的報告規則。

SPEC 2017 CPU 規則要求全面揭露與效能相關的條件,並提供足夠的配置細節以重現公開結果。即使測試的是內部工作負載,這也是一個有用的標準。僅憑一個無法解釋的分數不足以判斷該結果是來自作業系統、編譯器標誌、BIOS 設定還是不同的硬體。

哪些是已知的,哪些取決於你的設置,哪些仍有待驗證?

  • 已知:目前的 SLES 15 SP7 和 RHEL 9 文件描述了不同的核心流和基於 TuneD 的效能配置。兩家廠商都提供了針對特定工作負載調優的工具文件。
  • 這取決於特定環境:吞吐量、延遲、功耗、啟動時間、虛擬機器密度、驅動程式行為以及保持調優一致性所需的工作量。這些因素會因硬體、應用程式、版本層級和運行策略而異。
  • 查閱的文件並未證實: SLES 15 的速度絕對比 RHEL 9 快,RHEL 9 的速度絕對比 SLES 15 快,或者某個核心基礎版本能夠保證在所有工作負載下都具有效能優勢。

選擇符合您的認證、支援、生命週期和維運要求的發行版,然後透過受控的概念驗證來驗證其效能。如果測得的差異小於運行間波動,則將這兩個系統視為在該工作負載下效能相同,並根據可維護性、相容性和管理需求來做決定。

官方參考資料

留下評論

SLES 15 與 RHEL 9:企業伺服器效能對比

SLES 15 與 RHEL 9:企業伺服器效能對比

比較 SLES 15 和 RHEL 9 的效能事實、核心流、TuneD 設定檔、工作負載變量,以及如何公平地對這兩個系統進行基準測試。

修正 SUSE Linux 伺服器在 systemd 關閉時重新啟動掛起的問題

修正 SUSE Linux 伺服器在 systemd 關閉時重新啟動掛起的問題

學習如何診斷和修復在 systemd 關閉期間掛起的 SUSE Linux 伺服器,方法是尋找卡住的作業、查看先前的啟動過程,並修正阻塞的服務或掛載點。

如何為 Windows 使用者在 Pardus Linux 中自訂 XFCE 面板

如何為 Windows 使用者在 Pardus Linux 中自訂 XFCE 面板

透過底部工作列、應用程式選單、常用啟動器、開啟視窗按鈕、系統托盤和時鐘,讓 Pardus XFCE 介面更貼近使用者。了解需要更改哪些內容以及如何測試佈局。

如何使用 Unattended-Upgrades 設定自動化的無頭 Debian 升級

如何使用 Unattended-Upgrades 設定自動化的無頭 Debian 升級

在無頭 Debian 伺服器上設定無人值守升級,驗證 systemd 計時器,進行安全測試,控制重啟,並監控自動安全更新。

修正 SUSE Linux Enterprise Server 上的 Cockpit Web 控制台無法連線的問題

修正 SUSE Linux Enterprise Server 上的 Cockpit Web 控制台無法連線的問題

透過檢查 HTTPS URL、systemd 套接字、已安裝的軟體包、firewalld 區域、憑證和日誌,對 SUSE Linux Enterprise Server 上的 Cockpit 進行故障排除。

如何在不停機的情況下將 SLES 15 SP5 移轉到 SP6

如何在不停機的情況下將 SLES 15 SP5 移轉到 SP6

了解如何透過經過測試的 SLE HA 滾動升級、逐節點檢查以及明確的單一伺服器停機時間注意事項,在 SLES 15 SP5 到 SP6 遷移期間保持服務的可用性。

如何在 Ubuntu Server 24.04 上設定 Pi-hole DNS-over-HTTPS

如何在 Ubuntu Server 24.04 上設定 Pi-hole DNS-over-HTTPS

在 Ubuntu Server 24.04 上設定 Pi-hole,使其使用 dnscrypt-proxy 進行 DNS-over-HTTPS 連接,然後驗證本地上游伺服器,避免常見的 DNS 衝突。

如何修復 YaST GUI 無法透過 SSH X11 轉送啟動的問題

如何修復 YaST GUI 無法透過 SSH X11 轉送啟動的問題

排查 YaST GUI 透過 SSH X11 轉送導致的故障。測試 DISPLAY,修復已記錄的 Qt XIO 錯誤,檢查 SSH 設置,並在必要時切換到 ncurses。

如何設定本地 SUSE RMT 伺服器(SMT 替代方案)

如何設定本地 SUSE RMT 伺服器(SMT 替代方案)

在 SLES 15 上設定 SUSE RMT,同步 SCC 元數據,鏡像選定的儲存庫,透過 HTTPS 註冊客戶端,並了解從 SMT 遷移的限制。

修正 Pardus Linux 23 上無法偵測到音效卡驅動程式的問題

修正 Pardus Linux 23 上無法偵測到音效卡驅動程式的問題

追蹤 Pardus Linux 23 上缺少的音效卡問題。安全地檢查 ALSA 檢測、核心模組、音訊服務、輸出設定檔、韌體和更新。