「ベンチマーク」の版間の差分
(→systemd-analyze: 翻訳) |
(関連記事のリンクを追加) |
||
(2人の利用者による、間の19版が非表示) | |||
4行目: | 4行目: | ||
{{Related articles start}} |
{{Related articles start}} |
||
{{Related|パフォーマンスの最大化}} |
{{Related|パフォーマンスの最大化}} |
||
+ | {{Related|ストレステスト}} |
||
{{Related2|アプリケーション一覧/ユーティリティ#システム監視|Sysstat}} |
{{Related2|アプリケーション一覧/ユーティリティ#システム監視|Sysstat}} |
||
{{Related articles end}} |
{{Related articles end}} |
||
ベンチマークとはパフォーマンスを測定し他のシステムと結果を比較する行為、また手順が統合され広く認められた標準のことです。システムのパフォーマンスを統合的な方法で評価することで以下のような質問に答えることが可能です: |
ベンチマークとはパフォーマンスを測定し他のシステムと結果を比較する行為、また手順が統合され広く認められた標準のことです。システムのパフォーマンスを統合的な方法で評価することで以下のような質問に答えることが可能です: |
||
− | * システムのパフォーマンスが期待通りに出ているか |
+ | * システムのパフォーマンスが期待通りに出ているか? |
− | * どのドライバーバージョンを使えば最適なパフォーマンスを得られるか |
+ | * どのドライバーバージョンを使えば最適なパフォーマンスを得られるか? |
− | * ある作業をするのに十分な能力がシステムにあるか |
+ | * ある作業をするのに十分な能力がシステムにあるか? |
システムパフォーマンスを調べることができるツールは多数存在します。以下はその利用可能なツールのリストです。 |
システムパフォーマンスを調べることができるツールは多数存在します。以下はその利用可能なツールのリストです。 |
||
== 単体のツール == |
== 単体のツール == |
||
+ | |||
=== UnixBench === |
=== UnixBench === |
||
+ | |||
unixbench のパッケージは [[AUR]] に存在します: {{AUR|unixbench}}。ベンチマークを実行するにはターミナルから ''ubench'' を実行します。 |
unixbench のパッケージは [[AUR]] に存在します: {{AUR|unixbench}}。ベンチマークを実行するにはターミナルから ''ubench'' を実行します。 |
||
22行目: | 25行目: | ||
=== interbench === |
=== interbench === |
||
+ | |||
interbench はインタラクティブに Linux のベンチマークを行うためのアプリケーションです。CPU や I/O のスケジューラ、ファイルシステムの変更やオプションなど、Linux カーネル内の設計やシステム設定の変更による効果を測定するために作られています。{{Tip|注意深くベンチマークすれば、異なるハードウェアの比較にも使えます。}} |
interbench はインタラクティブに Linux のベンチマークを行うためのアプリケーションです。CPU や I/O のスケジューラ、ファイルシステムの変更やオプションなど、Linux カーネル内の設計やシステム設定の変更による効果を測定するために作られています。{{Tip|注意深くベンチマークすれば、異なるハードウェアの比較にも使えます。}} |
||
− | interbench は [[Arch User Repository|AUR]] から利用可能です: {{AUR|interbench}} |
+ | interbench は [[Arch User Repository|AUR]] から利用可能です: {{AUR|interbench}} |
参照: |
参照: |
||
33行目: | 37行目: | ||
=== ttcp === |
=== ttcp === |
||
+ | |||
(n)(nu)ttcp は様々なネットワーク接続における二点間の帯域を計測します。帯域を計測するために両方のノードにプログラムをインストールする必要があります。 |
(n)(nu)ttcp は様々なネットワーク接続における二点間の帯域を計測します。帯域を計測するために両方のノードにプログラムをインストールする必要があります。 |
||
− | ttcp には様々な亜種が存在し [[Arch User Repository|AUR]] から利用できます (下のリンクを参照) |
+ | ttcp には様々な亜種が存在し [[Arch User Repository|AUR]] から利用できます (下のリンクを参照) |
参照: |
参照: |
||
42行目: | 47行目: | ||
=== iperf === |
=== iperf === |
||
+ | |||
iperf は使いやすい二点間の帯域幅テストツールです。TCP または UDP のどちらかが使えます。出力を整形して表示したり並列テストが可能です。 |
iperf は使いやすい二点間の帯域幅テストツールです。TCP または UDP のどちらかが使えます。出力を整形して表示したり並列テストが可能です。 |
||
47行目: | 53行目: | ||
=== time === |
=== time === |
||
+ | |||
time コマンドを使うことでコマンドの実行にかかった時間を求めることができます。起動から終了までの時間を表示します。time はほとんどの Linux システムに標準で含まれています。 |
time コマンドを使うことでコマンドの実行にかかった時間を求めることができます。起動から終了までの時間を表示します。time はほとんどの Linux システムに標準で含まれています。 |
||
52行目: | 59行目: | ||
=== hdparm === |
=== hdparm === |
||
+ | |||
ストレージメディアのベンチマークは [[Hdparm]] で取ることができます ({{pkg|hdparm}}) hdparm に -Tt スイッチをつけると、シーケンシャルリードの時間を計ることができます。この方法はパーティションアライメントに依存しません。 |
ストレージメディアのベンチマークは [[Hdparm]] で取ることができます ({{pkg|hdparm}}) hdparm に -Tt スイッチをつけると、シーケンシャルリードの時間を計ることができます。この方法はパーティションアライメントに依存しません。 |
||
# hdparm -Tt /dev/sdX |
# hdparm -Tt /dev/sdX |
||
66行目: | 74行目: | ||
# gnome-disks |
# gnome-disks |
||
− | GUI からベンチマークボタン |
+ | GUI からベンチマークボタン(''"More actions..."' > ''"Benchmark Volume..."'')があります。[https://imgur.com/Ayv1B 例] |
=== KDiskMark === |
=== KDiskMark === |
||
80行目: | 88行目: | ||
=== dd === |
=== dd === |
||
+ | [[dd]] ユーティリティは、読み込みと書き込みの両方を測定するために使用することができます。この方法は、パーティションのアライメントに依存します! 言い換えれば、パーティションのアライメントに失敗した場合、マウントされたファイルシステムに読み書きしているため、この事実が表示されるのです。 |
||
− | The [[dd]] utility can be used to measure both reads and writes. This method is dependent on partition alignment! In other words, if you failed to properly align your partitions, this fact will be seen here since you are writing and reading to a mounted filesystem. |
||
+ | {{Note|この方法は、対象のデバイスにマウントされたパーティションからコマンドを実行する必要があります。}} |
||
− | {{Note|This method requires the command to be executed from a mounted partition on the device of interest!}} |
||
+ | まず、SSD 上に少なくとも 1.1 GB の空き領域があるディレクトリ(そして明らかにユーザーに wrx パーミッションを与えているディレクトリ)に入り、書き込み速度を測定し、デバイスに何か読み込むものを与えるためにテストファイルを書き込んでください。 |
||
− | First, enter a directory on the SSD with at least 1.1 GB of free space (and one that obviously gives your user wrx permissions) and write a test file to measure write speeds and to give the device something to read: |
||
{{hc|1=$ dd if=/dev/zero of=''/path/to/SSD/''tempfile bs=1M count=1024 conv=fdatasync,notrunc status=progress|2= |
{{hc|1=$ dd if=/dev/zero of=''/path/to/SSD/''tempfile bs=1M count=1024 conv=fdatasync,notrunc status=progress|2= |
||
92行目: | 100行目: | ||
}} |
}} |
||
− | {{Tip| |
+ | {{Tip|{{ic|sync}} の要件や関連する {{ic|dd}} オプションについての説明は [https://romanrm.net/dd-benchmark dd-benchmark] を参照してください。}} |
+ | 次に、バッファキャッシュをクリアして、デバイスから直接読み取り速度を正確に測定します。 |
||
− | Next, clear the buffer-cache to accurately measure read speeds directly from the device: |
||
{{hc|1= |
{{hc|1= |
||
105行目: | 113行目: | ||
}} |
}} |
||
+ | 最後のファイルがバッファに入ったので、このコマンドを繰り返して、バッファキャッシュの速度を確認します。 |
||
− | Now that the last file is in the buffer, repeat the command to see the speed of the buffer-cache: |
||
{{hc|1=$ dd if=tempfile of=/dev/null bs=1M count=1024 status=progress|2= |
{{hc|1=$ dd if=tempfile of=/dev/null bs=1M count=1024 status=progress|2= |
||
113行目: | 121行目: | ||
}} |
}} |
||
+ | {{Note|バッファの読み込み速度を正確に評価するためには、上記のコマンドを4-5回実行し、その結果を手動で平均化する必要があります}} |
||
− | {{Note|One should run the above command 4-5 times and manually average the results for an accurate evaluation of the buffer read speed.}} |
||
+ | 最後に、一時ファイルを削除します。 |
||
− | Finally, delete the temp file |
||
$ rm tempfile |
$ rm tempfile |
||
− | {{Note| |
+ | {{Note|SSD コントローラによっては、圧縮ハードウェアが搭載されており、ベンチマークの結果に影響を与える可能性があります。https://www.pugetsystems.com/labs/articles/SSDs-Advertised-vs-Actual-Performance-179/ を参照してください。}} |
=== dcfldd === |
=== dcfldd === |
||
+ | Dcfldd は古き良き dd のように平均速度を MB/s で表示しませんが、 [[ベンチマーク#time|time]] でそれを回避することができます。 |
||
− | Dcfldd does not print the average speed in MB/s like good old dd does but with [[#time|time]] you can work around that. |
||
+ | ディスクをクリアする実行時間を設定します。 |
||
− | Time the run clearing the disk: |
||
# time dcfldd if=/dev/zero of=/dev/sdX bs=4M |
# time dcfldd if=/dev/zero of=/dev/sdX bs=4M |
||
18944 blocks (75776Mb) written.dcfldd:: No space left of device |
18944 blocks (75776Mb) written.dcfldd:: No space left of device |
||
132行目: | 140行目: | ||
sys 0m51.160s |
sys 0m51.160s |
||
+ | dcfldd コマンドの出力を時間(秒)で割って、MB/s を算出します。この例では、75776Mb/(16.4 min * 60) = 77.0 MB/s となります |
||
− | Calculate MB/s by dividing the output of the dcfldd command by the time in seconds. For this example: 75776Mb / (16.4 min * 60) = 77.0 MB/s. |
||
=== 7z === |
=== 7z === |
||
− | 7z benchmark |
+ | 7z benchmark コマンドは、CPU の速度を MIPS で計測したり、RAM にエラーがないかを確認するために使用することができます。[[p7zip]] をインストールし、以下のコマンドを実行するだけです。より詳細な情報は [https://sevenzip.osdn.jp/chm/cmdline/commands/bench.htm] で確認できます。 |
$ 7z b |
$ 7z b |
||
142行目: | 150行目: | ||
=== peakperf === |
=== peakperf === |
||
+ | {{AUR|peakperf-git}} は、x86_64 CPU でピーク性能を実現するマイクロベンチマークです。CPU の冷却問題など、いくつかの問題はあなたの CPU が提供するパフォーマンスを低下させるかもしれません。peakperf を使えば、あなたの CPU がその能力をフルに発揮しているかどうかをチェックすることができます。 |
||
− | {{AUR|peakperf-git}} is a microbenchmark that achieves peak performance on x86_64 CPUs. Some issues may reduce the performance provided by your CPU, like CPU cooling. With peakperf you can check if your CPU provides the full power it is capable of doing. |
||
− | + | あなたの CPU を使って得られるはずの性能(GFLOP/s で測定)を計算し([https://github.com/Dr-Noob/peakperf#understanding-the-microbenchmark] 参照)、peakperf が出す性能と比較することができます。両方の値が同じ (または非常に似ている) 場合、あなたの CPU はあるべき動作をしています。 |
|
+ | {{Note|peakperf の目的は CPU をテストすることですが、CPU を限界まで絞るので冷却をテストするのにも最適な方法です}} |
||
− | {{Note|Even though the goal of peakperf is to test the CPU, it is also a great way to test your cooling, since it will throttle your CPU to the limit.}} |
||
+ | |||
+ | === cryptsetup === |
||
+ | |||
+ | [[cryptsetup]] ベンチマークは、さまざまな暗号化アルゴリズム (暗号) の速度を測定するために使用できます。 |
||
+ | |||
+ | $ cryptsetup benchmark |
||
== ソフトウェアスイート == |
== ソフトウェアスイート == |
||
+ | |||
=== Bonnie++ === |
=== Bonnie++ === |
||
+ | |||
[http://www.textuality.com/bonnie/ オリジナルの Bonnie] を C++ で書きなおしたベンチマークスイートです。ハードドライブとファイルシステムのパフォーマンステストを複数行います。 |
[http://www.textuality.com/bonnie/ オリジナルの Bonnie] を C++ で書きなおしたベンチマークスイートです。ハードドライブとファイルシステムのパフォーマンステストを複数行います。 |
||
+ | {{Warning|デフォルトでは、bonnie++ は少なくとも RAM サイズの2倍の量をディスクに書き込みます。SSD を消耗させたくない場合、デフォルト以外のオプションを指定して下さい。}} |
||
− | {{Warning|By default, bonnie++ write at least twice the RAM size on disk. If you want to preserve your SSD, use non default option.}} |
||
{{Note|オリジナルの Bonnie スイートは GPL やその他の互換性のあるライセンスでリリースされていません。}} |
{{Note|オリジナルの Bonnie スイートは GPL やその他の互換性のあるライセンスでリリースされていません。}} |
||
162行目: | 178行目: | ||
=== IOzone === |
=== IOzone === |
||
+ | |||
IOzone は製造供給元のコンピュータープラットフォームのファイルシステムを分析するのに役立ちます。 |
IOzone は製造供給元のコンピュータープラットフォームのファイルシステムを分析するのに役立ちます。 |
||
− | このプログラムは [[AUR]] から利用可能です: {{AUR|iozone}} |
+ | このプログラムは [[AUR]] から利用可能です: {{AUR|iozone}} |
参照: |
参照: |
||
174行目: | 191行目: | ||
=== Phoronix Test Suite === |
=== Phoronix Test Suite === |
||
+ | |||
− | ''[http://www.phoronix-test-suite.com/ Phoronix Test Suite] は包括的なテスト・ベンチマークのプラットフォームです。拡張性のあるフレームワークを提供することで新しいテストを簡単に追加できるようになっています。クリーンで、再現性があり使いやすいかたちで、質的・量的なベンチマークが効果的に実行できるように設計されているソフトウェアです。 |
||
+ | ''[http://www.phoronix-test-suite.com/ Phoronix Test Suite] は包括的なテスト・ベンチマークのプラットフォームです。拡張性のあるフレームワークを提供することで新しいテストを簡単に追加できるようになっています。クリーンで、再現性があり使いやすい形で、質的・量的なベンチマークが効果的に実行できるように設計されているソフトウェアです。 |
||
''Phoronix Test Suite は2004年から Phoronix.com によって開発されている拡張的なテスト・内部ツールをベースにしており、業界をリードする第一線のコンピューターハードウェア・ソフトウェアメーカーによってサポートを受けています。このソフトウェアはオープンソースであり GNU GPLv3 でライセンスされています。 |
''Phoronix Test Suite は2004年から Phoronix.com によって開発されている拡張的なテスト・内部ツールをベースにしており、業界をリードする第一線のコンピューターハードウェア・ソフトウェアメーカーによってサポートを受けています。このソフトウェアはオープンソースであり GNU GPLv3 でライセンスされています。 |
||
182行目: | 200行目: | ||
''Phoronix Test Suite のインターフェイスは OpenBenchmarking.org を共同のウェブプラットフォームとしており、テストの結果を一箇所に集めることで、テストのプロファイルや結果を共有できるなど、高度な分析機能などが備わっています。Phoromatic は複数のシステムでのテストの実行をリモート管理機能によって管理するエンタープライズのコンポーネントです。'' |
''Phoronix Test Suite のインターフェイスは OpenBenchmarking.org を共同のウェブプラットフォームとしており、テストの結果を一箇所に集めることで、テストのプロファイルや結果を共有できるなど、高度な分析機能などが備わっています。Phoromatic は複数のシステムでのテストの実行をリモート管理機能によって管理するエンタープライズのコンポーネントです。'' |
||
− | このスイートは[[公式リポジトリ]]から利用できるパッケージ {{AUR|phoronix-test-suite}} によって[[pacman|インストール]]できます。AUR からは開発中のバージョンが利用できます: {{AUR|phoronix-test-suite-git}} |
+ | このスイートは [[公式リポジトリ]] から利用できるパッケージ {{AUR|phoronix-test-suite}} によって [[pacman|インストール]] できます。AUR からは開発中のバージョンが利用できます: {{AUR|phoronix-test-suite-git}} |
=== S === |
=== S === |
||
− | [https://github.com/Algodev-github/S S], |
+ | [https://github.com/Algodev-github/S S], I/O ベンチマークスイート は、ストレージの I/O 性能を測定するための小さなスクリプトのコレクションです。 |
+ | |||
+ | これは、BFQ スケジューラの開発チームである [http://algogroup.unimore.it/algodev/ algodev] によって開発されました。 |
||
+ | |||
+ | プロジェクトをダウンロードするかクローンして、依存関係をインストールし、root で実行してください (ディスクスケジューラを変更するのに権限が必要です。) |
||
+ | |||
+ | === s-tui === |
||
+ | |||
+ | [https://github.com/amanusk/s-tui s-tui] は、CPU 周波数、使用率、温度、消費電力のグラフを表示できます、その他にストレステスターも組み込まれています。見た目が美しく便利な Curses スタイルのインターフェイスです。 |
||
+ | === sysbench === |
||
− | It has been developed by [http://algogroup.unimore.it/algodev/ algodev], the team behind the BFQ scheduler. |
||
+ | {{pkg|sysbench}} は、万能のマルチスレッドベンチマークツールです。C と Perl で書かれており、ファイルシステム、DRAM、CPU、スレッドベースのスケジューラ、および POSIX ミューテックスのパフォーマンスをベンチマークするために CLI で直接使用できます。または、任意の複雑なワークロードのベンチマークを行うための Lua スクリプトインタープリターとして使用することもできます。データベースベンチマーク用のスクリプトのコレクションを提供します。 |
||
− | Download or clone the project, install its dependencies and run it as root (privileges needed to change disk scheduler). |
||
== フラッシュメディア == |
== フラッシュメディア == |
||
− | フラッシュメディアの性能特性は {{AUR|iozone}} を使うことで量的に測定することができます。読み書き速度の値が一定になることは基本的になく、システムアップデートによる大量のファイルの書き込みや展開など、I/O の負担が重い操作と互いに関係があります。そのような場合に考慮する必要がある基準は'''ランダム書き込み'''速度です。 |
+ | フラッシュメディアの性能特性は {{AUR|iozone}} を使うことで定量的に測定することができます。読み書き速度の値が一定になることは基本的になく、システムアップデートによる大量のファイルの書き込みや展開など、I/O の負担が重い操作と互いに関係があります。そのような場合に考慮する必要がある基準は'''ランダム書き込み'''速度です。 |
以下の例では 4k レコードサイズで 10M のファイルをテストしています: |
以下の例では 4k レコードサイズで 10M のファイルをテストしています: |
||
210行目: | 236行目: | ||
}} |
}} |
||
− | == |
+ | == グラフィックス == |
=== Basemark GPU === |
=== Basemark GPU === |
||
− | [https://www.basemark.com/products/basemark-gpu/ Basemark GPU] |
+ | [https://www.basemark.com/products/basemark-gpu/ Basemark GPU] は、モバイルおよびデスクトッププラットフォームにおけるグラフィックス API(OpenGL 4.5, OpenGL ES 3.1, Vulkan, Microsoft DirectX 12)のパフォーマンスを分析・測定するための評価ツールです。Basemark GPU は、デスクトップとモバイルの両プラットフォームを対象とし、High Quality モードと Medium Quality モードの両方を提供します。High-Quality モードは最先端のデスクトップ向けワークロードに対応し、Medium Quality モードは同等のモバイル向けワークロードに対応しています。 |
+ | AMD GPU を使用しており、同時に複数の vulkan 実装をインストールしている場合、Test ページでは、Graphics Device ドロップダウンリストに別々の GPU として表示されます。 |
||
− | If you are using AMD GPU and have several vulkan implementations installed simultaneously, in the Test page you will see them as separate GPUs in Graphics Device dropdown list. |
||
− | Basemark GPU |
+ | Basemark GPU は、{{AUR|basemark}} パッケージで入手できます。 |
+ | |||
+ | === Blender-benchmark === |
||
+ | |||
+ | [https://opendata.blender.org/ Blender-benchmark] は、OS、RAM、グラフィックカード、CPU モデルなどのシステムに関する情報と、ベンチマーク実行中のシステムの性能に関する情報を収集します。その後、ユーザーは Blender Open Data プラットフォーム上で結果をオンラインで共有したり、データをローカルに保存したりすることができます。 |
||
+ | |||
+ | Blender-benchmark は {{AUR|blender-benchmark}} パッケージで利用可能です。 |
||
=== GFXBench === |
=== GFXBench === |
||
+ | [https://gfxbench.com/benchmark.jsp GFXBench] は、すべてのプラットフォームにおいて、次世代グラフィックス機能を搭載したモバイルおよびデスクトップのパフォーマンスを測定するハイエンドグラフィックベンチマークです。真のクロス API ベンチマークとして、GFXBench は OpenGL, OpenGL ES, Vulkan, Metal, DirectX/Direct3D, DX12 を含む業界標準およびベンダー固有の API をすべてサポートしています。 |
||
− | [https://gfxbench.com/benchmark.jsp GFXBench] is a high-end graphics benchmark that measures mobile and desktop performance with next-gen graphics features across all platforms. As a true cross-API benchmark, GFXBench supports all the industry-standard and vendor-specific APIs including OpenGL, OpenGL ES, Vulkan, Metal, DirectX/Direct3D and DX12. |
||
+ | Vulkan API テストは現在開発中であり、同社のコーポレート・パートナーのみが利用可能です。 |
||
− | Vulkan API tests are currently under development and are only available for their corporate partners. |
||
− | GFXBench |
+ | GFXBenchは {{AUR|gfxbench}} パッケージで提供されています。 |
=== glmark2 === |
=== glmark2 === |
||
− | [https://github.com/glmark2/glmark2 glmark2] |
+ | [https://github.com/glmark2/glmark2 glmark2] は、OpenGL 2.0 および ES 2.0 のベンチマークです。 |
− | glmark2 |
+ | glmark2 は {{AUR|glmark2}} パッケージで利用可能です。 |
===glxgears=== |
===glxgears=== |
||
242行目: | 274行目: | ||
=== GpuTest === |
=== GpuTest === |
||
− | [https://www.geeks3d.com/gputest/ GpuTest] |
+ | [https://www.geeks3d.com/gputest/ GpuTest] は、クロスプラットフォーム(Windows、Linux、Max OS X)の GPU ストレステストと OpenGL ベンチマークです。GpuTest には、Windows の世界で人気のあるもの (FurMark や TessMark) を含むいくつかの GPU テストが付属しています。 |
− | GpuTest |
+ | GpuTest は {{AUR|gputest}} パッケージで利用可能です。 |
+ | |||
+ | === intel-gpu-tools === |
||
+ | |||
+ | [https://gitlab.freedesktop.org/drm/igt-gpu-tools intel-gpu-tools] では、統合 GPU に関する重要な情報が提供されます。これは、GPU アクセラレーションの問題を診断する際に非常に役立ちます。 |
||
+ | |||
+ | これを使用するには、{{Pkg|intel-gpu-tools}} パッケージを [[インストール]] します。 |
||
+ | |||
+ | === MangoHud === |
||
+ | |||
+ | こちらを参照 [[MangoHud]] |
||
=== Unigine Engine === |
=== Unigine Engine === |
||
270行目: | 312行目: | ||
=== vkmark === |
=== vkmark === |
||
− | [https://github.com/vkmark/vkmark vkmark] |
+ | [https://github.com/vkmark/vkmark vkmark] は、ターゲットとなる設定可能なシーンを持つ、拡張可能な Vulkan ベンチマークスイートです。 |
− | |||
− | vkmark is available in {{AUR|vkmark-git}} package. |
||
− | |||
− | === Blender-benchmark === |
||
− | |||
− | [https://opendata.blender.org/ Blender-benchmark] will gather information about the system, such as operating system, RAM, graphics cards, CPU model, as well as information about the performance of the system during the execution of the benchmark. After that, the user will be able to share the result online on the Blender Open Data platform, or to save the data locally. |
||
+ | vkmark は {{AUR|vkmark-git}} パッケージで利用可能です。 |
||
− | Blender-benchmark is available in the {{AUR|blender-benchmark}} package. |
||
== 参照 == |
== 参照 == |
2023年10月3日 (火) 19:12時点における最新版
関連記事
ベンチマークとはパフォーマンスを測定し他のシステムと結果を比較する行為、また手順が統合され広く認められた標準のことです。システムのパフォーマンスを統合的な方法で評価することで以下のような質問に答えることが可能です:
- システムのパフォーマンスが期待通りに出ているか?
- どのドライバーバージョンを使えば最適なパフォーマンスを得られるか?
- ある作業をするのに十分な能力がシステムにあるか?
システムパフォーマンスを調べることができるツールは多数存在します。以下はその利用可能なツールのリストです。
単体のツール
UnixBench
unixbench のパッケージは AUR に存在します: unixbenchAUR。ベンチマークを実行するにはターミナルから ubench を実行します。
参照:
- https://code.google.com/p/byte-unixbench/
- https://code.google.com/p/byte-unixbench/source/browse/trunk/UnixBench/USAGE
interbench
interbench はインタラクティブに Linux のベンチマークを行うためのアプリケーションです。CPU や I/O のスケジューラ、ファイルシステムの変更やオプションなど、Linux カーネル内の設計やシステム設定の変更による効果を測定するために作られています。
interbench は AUR から利用可能です: interbenchAUR
参照:
ttcp
(n)(nu)ttcp は様々なネットワーク接続における二点間の帯域を計測します。帯域を計測するために両方のノードにプログラムをインストールする必要があります。
ttcp には様々な亜種が存在し AUR から利用できます (下のリンクを参照)
参照:
iperf
iperf は使いやすい二点間の帯域幅テストツールです。TCP または UDP のどちらかが使えます。出力を整形して表示したり並列テストが可能です。
iperf は公式リポジトリからインストールできます。また、iperf の別バージョンが iperf3 から利用可能です。
time
time コマンドを使うことでコマンドの実行にかかった時間を求めることができます。起動から終了までの時間を表示します。time はほとんどの Linux システムに標準で含まれています。
$ time tar -zxvf archive.tar.gz
hdparm
ストレージメディアのベンチマークは Hdparm で取ることができます (hdparm) hdparm に -Tt スイッチをつけると、シーケンシャルリードの時間を計ることができます。この方法はパーティションアライメントに依存しません。
# hdparm -Tt /dev/sdX /dev/sdX: Timing cached reads: x MB in y seconds = z MB/sec Timing buffered disk reads: x MB in y seconds = z MB/sec
gnome-disks
gnome-disks というグラフィカルなベンチマークが gnome-disk-utility パッケージに含まれていて、 最小/最大/平均読み取り回数と平均アクセス時間、そして美しいグラフィカルな表示が得られます。この方法は、パーティションアライメントに依存しません。
# gnome-disks
GUI からベンチマークボタン("More actions..."' > "Benchmark Volume...")があります。例
KDiskMark
kdiskmark は、非常に親しみやすいグラフィカルユーザインタフェースを備えた HDD および SSD ベンチマークツールです。プリセットと強力な GUI を持つKDiskMark は、Flexible I/O Tester を呼び出して出力を処理し、見やすく解釈しやすい包括的なベンチマーク結果を提供します。
systemd-analyze
systemd-analyze plot > boot.svg
カーネル時間、ユーザー空間時間、各サービスにかかる時間など、ブートシークエンスの詳細なグラフィックをプロットします。例
dd
dd ユーティリティは、読み込みと書き込みの両方を測定するために使用することができます。この方法は、パーティションのアライメントに依存します! 言い換えれば、パーティションのアライメントに失敗した場合、マウントされたファイルシステムに読み書きしているため、この事実が表示されるのです。
まず、SSD 上に少なくとも 1.1 GB の空き領域があるディレクトリ(そして明らかにユーザーに wrx パーミッションを与えているディレクトリ)に入り、書き込み速度を測定し、デバイスに何か読み込むものを与えるためにテストファイルを書き込んでください。
$ dd if=/dev/zero of=/path/to/SSD/tempfile bs=1M count=1024 conv=fdatasync,notrunc status=progress
1024+0 records in 1024+0 records out v bytes (w MB, x MiB) copied, y s, z MB/s
次に、バッファキャッシュをクリアして、デバイスから直接読み取り速度を正確に測定します。
# echo 3 > /proc/sys/vm/drop_caches $ dd if=tempfile of=/dev/null bs=1M count=1024 status=progress
1024+0 records in 1024+0 records out v bytes (w MB, x MiB) copied, y s, z MB/s
最後のファイルがバッファに入ったので、このコマンドを繰り返して、バッファキャッシュの速度を確認します。
$ dd if=tempfile of=/dev/null bs=1M count=1024 status=progress
1024+0 records in 1024+0 records out v bytes (w MB, x MiB) copied, y s, z MB/s
最後に、一時ファイルを削除します。
$ rm tempfile
dcfldd
Dcfldd は古き良き dd のように平均速度を MB/s で表示しませんが、 time でそれを回避することができます。
ディスクをクリアする実行時間を設定します。
# time dcfldd if=/dev/zero of=/dev/sdX bs=4M 18944 blocks (75776Mb) written.dcfldd:: No space left of device real 16m17.033s user 0m0.377s sys 0m51.160s
dcfldd コマンドの出力を時間(秒)で割って、MB/s を算出します。この例では、75776Mb/(16.4 min * 60) = 77.0 MB/s となります
7z
7z benchmark コマンドは、CPU の速度を MIPS で計測したり、RAM にエラーがないかを確認するために使用することができます。p7zip をインストールし、以下のコマンドを実行するだけです。より詳細な情報は [1] で確認できます。
$ 7z b
peakperf
peakperf-gitAUR は、x86_64 CPU でピーク性能を実現するマイクロベンチマークです。CPU の冷却問題など、いくつかの問題はあなたの CPU が提供するパフォーマンスを低下させるかもしれません。peakperf を使えば、あなたの CPU がその能力をフルに発揮しているかどうかをチェックすることができます。
あなたの CPU を使って得られるはずの性能(GFLOP/s で測定)を計算し([2] 参照)、peakperf が出す性能と比較することができます。両方の値が同じ (または非常に似ている) 場合、あなたの CPU はあるべき動作をしています。
cryptsetup
cryptsetup ベンチマークは、さまざまな暗号化アルゴリズム (暗号) の速度を測定するために使用できます。
$ cryptsetup benchmark
ソフトウェアスイート
Bonnie++
オリジナルの Bonnie を C++ で書きなおしたベンチマークスイートです。ハードドライブとファイルシステムのパフォーマンステストを複数行います。
参照:
IOzone
IOzone は製造供給元のコンピュータープラットフォームのファイルシステムを分析するのに役立ちます。
このプログラムは AUR から利用可能です: iozoneAUR
参照:
HardInfo
hardInfo はシステムのハードウェア・オペレーティングシステムの情報を収集したり、ベンチマークを実行して、印刷可能な HTML やプレーンテキスト形式のレポートを生成することができます。HardInfo は CPU と FPU のベンチマークを行い、とてもキレイな GTK ベースのインターフェイスを持っています。
Phoronix Test Suite
Phoronix Test Suite は包括的なテスト・ベンチマークのプラットフォームです。拡張性のあるフレームワークを提供することで新しいテストを簡単に追加できるようになっています。クリーンで、再現性があり使いやすい形で、質的・量的なベンチマークが効果的に実行できるように設計されているソフトウェアです。
Phoronix Test Suite は2004年から Phoronix.com によって開発されている拡張的なテスト・内部ツールをベースにしており、業界をリードする第一線のコンピューターハードウェア・ソフトウェアメーカーによってサポートを受けています。このソフトウェアはオープンソースであり GNU GPLv3 でライセンスされています。
もともとは Linux のテストを自動化するために開発されましたが、それから Phoronix Test Suite は OpenSolaris, Apple macOS, Microsoft Windows, BSD オペレーティングシステムのサポートも追加されました。Phoronix Test Suite は軽量なプロセッシングコア (pts-core) と XML ベースのプロファイルと関連するリソーススクリプトからなる各ベンチマークによって構成されています。ベンチマークのインストールから、実際のベンチマーク、主要なハードウェア・ソフトウェアのコンポーネントの解析まで、処理はほとんど自動で行われ、繰り返し実行することが可能で、ユーザーが行う必要があるのは実行の確認だけです。
Phoronix Test Suite のインターフェイスは OpenBenchmarking.org を共同のウェブプラットフォームとしており、テストの結果を一箇所に集めることで、テストのプロファイルや結果を共有できるなど、高度な分析機能などが備わっています。Phoromatic は複数のシステムでのテストの実行をリモート管理機能によって管理するエンタープライズのコンポーネントです。
このスイートは 公式リポジトリ から利用できるパッケージ phoronix-test-suiteAUR によって インストール できます。AUR からは開発中のバージョンが利用できます: phoronix-test-suite-gitAUR
S
S, I/O ベンチマークスイート は、ストレージの I/O 性能を測定するための小さなスクリプトのコレクションです。
これは、BFQ スケジューラの開発チームである algodev によって開発されました。
プロジェクトをダウンロードするかクローンして、依存関係をインストールし、root で実行してください (ディスクスケジューラを変更するのに権限が必要です。)
s-tui
s-tui は、CPU 周波数、使用率、温度、消費電力のグラフを表示できます、その他にストレステスターも組み込まれています。見た目が美しく便利な Curses スタイルのインターフェイスです。
sysbench
sysbench は、万能のマルチスレッドベンチマークツールです。C と Perl で書かれており、ファイルシステム、DRAM、CPU、スレッドベースのスケジューラ、および POSIX ミューテックスのパフォーマンスをベンチマークするために CLI で直接使用できます。または、任意の複雑なワークロードのベンチマークを行うための Lua スクリプトインタープリターとして使用することもできます。データベースベンチマーク用のスクリプトのコレクションを提供します。
フラッシュメディア
フラッシュメディアの性能特性は iozoneAUR を使うことで定量的に測定することができます。読み書き速度の値が一定になることは基本的になく、システムアップデートによる大量のファイルの書き込みや展開など、I/O の負担が重い操作と互いに関係があります。そのような場合に考慮する必要がある基準はランダム書き込み速度です。
以下の例では 4k レコードサイズで 10M のファイルをテストしています:
$ iozone -e -I -a -s 10M -r 4k -i 0 -i 1 -i 2 ... random random kB reclen write rewrite read reread read write 10240 4 661 649 5802 5822 3892 624
グラフィックス
Basemark GPU
Basemark GPU は、モバイルおよびデスクトッププラットフォームにおけるグラフィックス API(OpenGL 4.5, OpenGL ES 3.1, Vulkan, Microsoft DirectX 12)のパフォーマンスを分析・測定するための評価ツールです。Basemark GPU は、デスクトップとモバイルの両プラットフォームを対象とし、High Quality モードと Medium Quality モードの両方を提供します。High-Quality モードは最先端のデスクトップ向けワークロードに対応し、Medium Quality モードは同等のモバイル向けワークロードに対応しています。
AMD GPU を使用しており、同時に複数の vulkan 実装をインストールしている場合、Test ページでは、Graphics Device ドロップダウンリストに別々の GPU として表示されます。
Basemark GPU は、basemarkAUR パッケージで入手できます。
Blender-benchmark
Blender-benchmark は、OS、RAM、グラフィックカード、CPU モデルなどのシステムに関する情報と、ベンチマーク実行中のシステムの性能に関する情報を収集します。その後、ユーザーは Blender Open Data プラットフォーム上で結果をオンラインで共有したり、データをローカルに保存したりすることができます。
Blender-benchmark は blender-benchmarkAUR パッケージで利用可能です。
GFXBench
GFXBench は、すべてのプラットフォームにおいて、次世代グラフィックス機能を搭載したモバイルおよびデスクトップのパフォーマンスを測定するハイエンドグラフィックベンチマークです。真のクロス API ベンチマークとして、GFXBench は OpenGL, OpenGL ES, Vulkan, Metal, DirectX/Direct3D, DX12 を含む業界標準およびベンダー固有の API をすべてサポートしています。
Vulkan API テストは現在開発中であり、同社のコーポレート・パートナーのみが利用可能です。
GFXBenchは gfxbenchAUR パッケージで提供されています。
glmark2
glmark2 は、OpenGL 2.0 および ES 2.0 のベンチマークです。
glmark2 は glmark2AUR パッケージで利用可能です。
glxgears
glxgears は大衆的な OpenGL テストで、シンプルに OpenGL のパフォーマンスを測ってフレームレートを出力します。グラフィックドライバーのダイレクトレンダリング機能のテストとして glxgears は有用ですが、時代遅れのツールなので、GNU/Linux グラフィックの現況や OpenGL 全体の性能を示すものではありません。glxgears がテストするのはゲームなどに使われる OpenGL の機能の中でも一部だけです。glxgears でパフォーマンスの向上が見られたからといってゲームでもそれが必ずしも反映されるとは限りません。詳しくは ここ を見て下さい。
glxgears は mesa-demos や lib32-mesa-demos (Multilib) パッケージでインストールできます。
GpuTest
GpuTest は、クロスプラットフォーム(Windows、Linux、Max OS X)の GPU ストレステストと OpenGL ベンチマークです。GpuTest には、Windows の世界で人気のあるもの (FurMark や TessMark) を含むいくつかの GPU テストが付属しています。
GpuTest は gputestAUR パッケージで利用可能です。
intel-gpu-tools
intel-gpu-tools では、統合 GPU に関する重要な情報が提供されます。これは、GPU アクセラレーションの問題を診断する際に非常に役立ちます。
これを使用するには、intel-gpu-tools パッケージを インストール します。
MangoHud
こちらを参照 MangoHud
Unigine Engine
Unigine が開発した現代的な OpenGL ベンチマークです。彼らのグラフィックエンジンをベースにしており、以下のような機能が存在します:
- ピクセルあたりの動的光源処理
- 通常・視差遮蔽マッピング
- 64ビットの HDR レンダリング
- ボリュームフォグ・ライト
- パワフルなパーティクルシステム: 炎・煙・爆発
- 拡張性のあるシェーダセット (GLSL / HLSL)
- ポストプロセス: 被写界深度・屈折・グロー・ブラー・色補正など
最近では Unigine ベンチマークはシステムをオーバークロックしようとしているユーザーによって使用されています。特に Heaven はオーバークロックの初期安定性テストに使われています。
ベンチマークは AUR から利用可能です (下のリンクを参照)。
参照:
- unigine-heavenAUR
- unigine-tropicsAUR
- unigine-sanctuaryAUR
- unigine-valleyAUR
- unigine-superpositionAUR
vkmark
vkmark は、ターゲットとなる設定可能なシーンを持つ、拡張可能な Vulkan ベンチマークスイートです。
vkmark は vkmark-gitAUR パッケージで利用可能です。