Linux サーバーのベンチマーク: オープン ツールの選択

Linux マシンの CPU パフォーマンスを評価するツールについて引き続き説明します。 今日の資料: temci、uarch-bench、likwid、perf-tools、および llvm-mca。

その他のベンチマーク:

Linux サーバーのベンチマーク: オープン ツールの選択
Фото— ルーカス・ブラゼク — アンスプラッシュ

テムシ

2016つのプログラムの実行時間を見積もるツールです。 基本的に、XNUMX つのアプリケーションの実行時間を比較できます。 このユーティリティの作者はドイツの学生 Johannes Bechberger で、XNUMX 年に学部論文の一部としてこのユーティリティを開発しました。 今日の道具 によって配布 GNU 一般公衆利用許諾書に基づいてライセンスされています。

ヨハネスは、制御された環境でコンピューティング システムのパフォーマンスを測定できるツールを作成したいと考えていました。 したがって、temci の主な機能の XNUMX つは、テスト環境をセットアップできることです。 例えば、 1ことができます: CPU 周波数マネージャーの設定を変更し、無効にします。 ハイパースレッディング L1 キャッシュと L2 キャッシュ、Intel プロセッサのターボ モードをオフにするなど。ベンチマークには temci がツールを使用します。 時間, perf_stat и ゲトルセージ.

最初のケースのユーティリティは次のようになります。

# 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 上のスターの数が徐々に増えているため、将来的には状況が変わる可能性があります。少し前には temci さえ コメントで議論されました ハッカーニュースで。

ユアーチベンチ

エンジニア Travis Downs によって開発された、低レベルの CPU 機能のパフォーマンスを評価するためのユーティリティ (トラヴィス・ダウンズ)。 最近彼はブログを書いています パフォーマンスの問題 GitHub Pages では、ベンチマーク ツールやその他の関連事項について説明しています。 一般に、uarch-bench は普及し始めたばかりですが、すでにかなり一般的になっています。 言及した テーマ別スレッドの Hacker News の住民が、ベンチマークの頼りになるツールとして利用しています。

Uarch-bench を使用すると、メモリのパフォーマンス、並列データの読み込み速度、クリーニング作業を評価できます YMMレジスタ。 プログラムによって生成されたベンチマーク結果がどのようなものかを確認できます 公式リポジトリ内 ページの下部にあります。

uarch-bench は temci と同様に、 無効にします インテル ターボ ブースト機能 (負荷がかかるとプロセッサのクロック速度が自動的に増加します) により、テスト結果が一貫したものになります。

現時点では、プロジェクトは開発の初期段階にあるため、uarch-bench には詳細なドキュメントがなく、その操作にはバグが含まれている可能性があります。たとえば、 困難は知られている Ryzenでの発売とともに。 また、x86 アーキテクチャのベンチマークのみがサポートされています。 作者は将来さらに機能を追加することを約束し、開発に参加することを勧めます。

液体

これは、Intel、AMD、および ARMv8 プロセッサを搭載した Linux マシンのパフォーマンスを評価するためのツール セットです。 これは、2017 年にドイツ連邦教育研究省の後援の下で作成され、オープンソースとしてリリースされました。

likwid ツールの中では、システムによって消費される電力に関する RAPL レジスタからの情報を表示する likwid-powermeter と、プロセッサ周波数を制御できる likwid-setFrequency を強調表示できます。 完全なリストを確認できます リポジトリで見つける.

このツールは、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 個のスターがあり)。 また、perf ツールを積極的に使用している企業もあります。 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 サーバーのベンチマーク: オープン ツールの選択 セレクション: XNUMX 冊の書籍とネットワークに関する XNUMX つのコース

Linux サーバーのベンチマーク: オープン ツールの選択私たち 1cloud.ru は無料サービスを提供しています。DNSホスティング」 DNS レコードは XNUMX つの個人アカウントで管理できます。

出所: habr.com

コメントを追加します