Linux 伺服器的基準測試:一系列開放工具

我們繼續討論用於評估 Linux 機器上的 CPU 效能的工具。 今天的材料:temci、uarch-bench、likwid、perf-tools 和 llvm-mca。

更多基準:

Linux 伺服器的基準測試:一系列開放工具
Фото— 盧卡斯·布拉澤克(Lukas Blazek) — 不飛濺

特姆吉

這是一個用來估計兩個程式的執行時間的工具。 本質上,它允許您比較兩個應用程式的執行時間。 該實用程式的作者是一位來自德國的學生 Johannes Bechberger,他在 2016 年將其開發為他的學士論文的一部分。 今天的工具 分發者 根據 GNU 通用公共授權獲得許可。

約翰內斯想要創建一種工具,使他能夠在受控環境中測量計算系統的性能。 因此,temci的主要功能之一就是能夠建構測試環境。 例如, 人們可以:更改CPU頻率管理器設置,停用 超線程 以及 L1 和 L2 緩存,關閉 Intel 處理器上的 Turbo 模式等。對於基準測試 temci 使用工具 時間, 效能統計 и 格特魯薩奇.

這是該實用程式在第一種情況下的樣子:

# compare the run times of two programs, running them each 20 times
> temci short exec "sleep 0.1" "sleep 0.2" --runs 20
Benchmark 20 times                [####################################]  100%
Report for single runs
sleep 0.1            (   20 single benchmarks)
     avg_mem_usage mean =           0.000, deviation =   0.0
     avg_res_set   mean =           0.000, deviation =   0.0
     etime         mean =      100.00000m, deviation = 0.00000%
     max_res_set   mean =         2.1800k, deviation = 3.86455%
     stime         mean =           0.000, deviation =   0.0
     utime         mean =           0.000, deviation =   0.0

sleep 0.2            (   20 single benchmarks)
     avg_mem_usage mean =           0.000, deviation =   0.0
     avg_res_set   mean =           0.000, deviation =   0.0
     etime         mean =      200.00000m, deviation = 0.00000%
     max_res_set   mean =         2.1968k, deviation = 3.82530%
     stime         mean =           0.000, deviation =   0.0
     utime         mean =           0.000, deviation =   0.0

根據基準測試結果,系統生成 便捷的報告 帶有圖表、表格和圖表,這將 temci 與類似的解決方案區分開來。

在temci的缺點中,它的「年輕」尤為突出。 正因如此他 並非所有內容都受支持 硬體和軟體配置。 例如,很難在 macOS 上運行,並且某些功能在基於 ARM 的系統上不可用。 未來,情況可能會發生變化,因為作者正在積極開發該項目,而 GitHub 上的 star 數量正在逐漸增加 - 不久前 temci 甚至 評論中討論了 關於駭客新聞。

uarch-長凳

用於評估低階 CPU 功能效能的實用程序,由工程師 Travis Downs 開發(崔維斯唐斯)。 最近他在寫博客 績效問題 在 GitHub Pages 上,其中討論了基準測試工具和其他相關內容。 總的來說,uarch-bench才剛開始流行,但已經相當普遍了 提到 主題線程中的駭客新聞居民作為基準測試的首選工具。

Uarch-bench 讓您評估記憶體效能、並行資料載入速度和清理工作 YMM 暫存器。 可以找到程式產生的基準測試結果是什麼樣的 在官方儲存庫中 在頁面的底部。

值得注意的是,uarch-bench 和 temci 一樣, 停用 Intel Turbo Boost功能(在負載下自動提高處理器時脈速度)可讓測試結果一致。

目前,該專案正處於開發的早期階段,因此uarch-bench沒有詳細的文檔,並且其運行可能包含錯誤 - 例如, 困難是已知的 隨著 Ryzen 的推出。 此外,僅支援 x86 架構的基準測試。 作者承諾未來會增加更多功能,並邀請您參與開發。

液體

這是一套用於評估採用 Intel、AMD 和 ARMv8 處理器的 Linux 機器效能的工具。 它於 2017 年在德國聯邦教育和研究部的支持下創建並開源。

在 likwid 工具中,我們可以重點介紹 likwid-powermeter,它顯示來自 RAPL 暫存器的有關係統功耗的信息,以及 likwid-setFrequencies,它允許您控制處理器頻率。 你可以看到完整的列表 在儲存庫中尋找.

該工具由參與 HPC 研究的工程師使用。 例如,與 likwid 作品 來自德國埃爾蘭根-紐倫堡大學 (RRZE) 區域計算中心的一組專家。 她也積極參與了這套工具的開發。

Linux 伺服器的基準測試:一系列開放工具
Фото— 克萊姆·奧諾傑霍 — 不飛濺

性能工具

這個工具用來分析Linux伺服器的效能 引進 布倫丹·格雷格. 他是開發商之一 DTrace的 — 用於即時偵錯應用程式的動態追蹤框架。

perf-tools 是基於 perf_events 和 ftrace 核心子系統。 它們的實用程式可讓您分析 I/O 延遲 (iosnoop)、追蹤系統呼叫參數(unccount、funcslower、funcgraph 和 functrace)並收集檔案快取中「命中」的統計資料 (cachestat)。 在後一種情況下,命令如下所示:

# ./cachestat -t
Counting cache functions... Output every 1 seconds.
TIME HITS MISSES DIRTIES RATIO BUFFERS_MB CACHE_MB
08:28:57 415 0 0 100.0% 1 191
08:28:58 411 0 0 100.0% 1 191
08:28:59 362 97 0 78.9% 0 8
08:29:00 411 0 0 100.0% 0 9

圍繞著該儀器已經形成了一個相當大的社區(GitHub 上有近 6 個 star)。 有些公司會積極使用性能工具,例如 Netflix公司。 但該工具正在進一步開發和修改(儘管最近很少發布更新)。 因此,它的運行中可能會出現錯誤——作者寫道,有時perf-tools會導致內核恐慌。

LLVM-MCA

一個實用程序,可預測機器代碼在不同 CPU 上需要多少計算資源。 她 評估 每個週期的指令(IPC)以及特定應用程式產生的硬體負載。

llvm-mca 於 2018 年作為該專案的一部分提出 LLVM,正在開發一個用於程式分析、轉換和最佳化的通用系統。 眾所周知,llvm-mca 的作者受到了一種分析軟體效能的解決方案的啟發 英特爾IACA 並試圖創造一種替代方案。 根據用戶的說法,該工具的輸出(佈局和數量)確實類似於 IACA - 例如 可以在這裡找到。 但是,llvm-mca 只接受 AT&T 文法,因此您很可能必須使用轉換器才能使用它。

我們在部落格和社群網路上寫的內容:

Linux 伺服器的基準測試:一系列開放工具 「墊。 華爾街模型”或如何優化雲端成本

Linux 伺服器的基準測試:一系列開放工具 如何保護您的 Linux 系統:10 個技巧
Linux 伺服器的基準測試:一系列開放工具 風險最小化:如何不丟失數據

Linux 伺服器的基準測試:一系列開放工具 適合那些已經參與系統管理或剛剛計劃開始的人的書籍
Linux 伺服器的基準測試:一系列開放工具 選擇:五本書和一門網路課程

Linux 伺服器的基準測試:一系列開放工具我們 1cloud.ru 提供免費服務“DNS 託管」 您可以在單一個人帳戶中管理 DNS 記錄。

來源: www.habr.com

添加評論