ベンチマーク

提供: ArchWiki
2021年4月17日 (土) 09:47時点におけるKusanaginoturugi (トーク | 投稿記録)による版 (→‎PTS Desktop Live: 削除)
ナビゲーションに移動 検索に移動

関連記事

ベンチマークとはパフォーマンスを測定し他のシステムと結果を比較する行為、また手順が統合され広く認められた標準のことです。システムのパフォーマンスを統合的な方法で評価することで以下のような質問に答えることが可能です:

  • システムのパフォーマンスが期待通りに出ているか?
  • どのドライバーバージョンを使えば最適なパフォーマンスを得られるか?
  • ある作業をするのに十分な能力がシステムにあるか?

システムパフォーマンスを調べることができるツールは多数存在します。以下はその利用可能なツールのリストです。

単体のツール

UnixBench

unixbench のパッケージは AUR に存在します: unixbenchAUR。ベンチマークを実行するにはターミナルから ubench を実行します。

参照:

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)。

参照:


gnome-disks

There is a graphical benchmark called gnome-disks contained in the gnome-disk-utility package that will give min/max/ave reads along with average access time and a nice graphical display. This method is independent of partition alignment!

# gnome-disks

Users will need to navigate through the GUI to the benchmark button ("More actions..." > "Benchmark Volume..."). Example

KDiskMark

kdiskmark is an HDD and SSD benchmark tool with a very friendly graphical user interface. KDiskMark with its presets and powerful GUI calls Flexible I/O Tester and handles the output to provide an easy to view and interpret comprehensive benchmark result.

systemd-analyze

systemd-analyze plot > boot.svg

Will plot a detailed graphic with the boot sequence: kernel time, userspace time, time taken by each service. Example

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.

ノート: This method requires the command to be executed from a mounted partition on the device of interest!

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:

$ 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
ヒント: See dd-benchmark for an explanation on the requirement to sync and further related dd options.

Next, clear the buffer-cache to accurately measure read speeds directly from the device:

# 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

Now that the last file is in the buffer, repeat the command to see the speed of the buffer-cache:

$ 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
ノート: 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
ノート: Some SSD controllers have compression hardware, which may skew benchmark results. See https://www.pugetsystems.com/labs/articles/SSDs-Advertised-vs-Actual-Performance-179/

dcfldd

Dcfldd does not print the average speed in MB/s like good old dd does but with time you can work around that.

Time the run clearing the disk:

# 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

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 benchmark command can be used to measure the CPU speed in MIPS and also to check RAM for errors. Just install p7zip and run the command below. More detailed information can be found at [1].

$ 7z b

peakperf

peakperf-gitAUR 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.

You can calculate the performance (measured in GFLOP/s) you should get using your CPU (see [2]) and compare it with the performance that peakperf gives you. If both values are the same (or very similar), your CPU behaves as it should.

ノート: 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.

ソフトウェアスイート

Bonnie++

オリジナルの Bonnie を C++ で書きなおしたベンチマークスイートです。ハードドライブとファイルシステムのパフォーマンステストを複数行います。

ノート: オリジナルの Bonnie スイートは GPL やその他の互換性のあるライセンスでリリースされていません。

bonnie++公式リポジトリから利用可能です。

参照:

IOzone

IOzone は製造供給元のコンピュータープラットフォームのファイルシステムを分析するのに役立ちます。

このプログラムは AUR から利用可能です: iozoneAUR

参照:

HardInfo

HardInfo はシステムのハードウェア・オペレーティングシステムの情報を収集したり、ベンチマークを実行して、印刷可能な HTML やプレーンテキスト形式のレポートを生成することができます。HardInfo は CPU と FPU のベンチマークを行い、とてもキレイな GTK ベースのインターフェイスを持っています。

hardinfo公式リポジトリから利用できます。

参照:

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

フラッシュメディア

フラッシュメディアの性能特性は 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
ノート:
  • テストの値は KB/s で報告されます。
  • SD カードと他のフラッシュメディアの性能表は Tom's Hardware を参照。

Graphics

Basemark GPU

Basemark GPU is an evaluation tool to analyze and measure graphics API (OpenGL 4.5, OpenGL ES 3.1, Vulkan and Microsoft DirectX 12) performance across mobile and desktop platforms. Basemark GPU targets both Desktop and Mobile platforms by providing both High Quality and Medium Quality modes. The High-Quality mode addresses cutting-edge Desktop workloads while the Medium Quality mode addresses equivalent Mobile workloads.

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 is available in basemarkAUR package.

GFXBench

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 tests are currently under development and are only available for their corporate partners.

GFXBench is available in gfxbenchAUR package.

glmark2

glmark2 is an OpenGL 2.0 and ES 2.0 benchmark.

glmark2 is available in glmark2AUR package.

glxgears

glxgears は大衆的な OpenGL テストで、シンプルに OpenGL のパフォーマンスを測ってフレームレートを出力します。グラフィックドライバーのダイレクトレンダリング機能のテストとして glxgears は有用ですが、時代遅れのツールなので、GNU/Linux グラフィックの現況や OpenGL 全体の性能を示すものではありません。glxgears がテストするのはゲームなどに使われる OpenGL の機能の中でも一部だけです。glxgears でパフォーマンスの向上が見られたからといってゲームでもそれが必ずしも反映されるとは限りません。詳しくは ここ を見て下さい。

glxgears は mesa-demoslib32-mesa-demos (Multilib) パッケージでインストールできます。

GpuTest

GpuTest is a cross-platform (Windows, Linux and Max OS X) GPU stress test and OpenGL benchmark. GpuTest comes with several GPU tests including some popular ones from Windows'world (FurMark or TessMark).

GpuTest is available in gputestAUR package.

Unigine Engine

Unigine が開発した現代的な OpenGL ベンチマークです。彼らのグラフィックエンジンをベースにしており、以下のような機能が存在します:

  • ピクセルあたりの動的光源処理
  • 通常・視差遮蔽マッピング
  • 64ビットの HDR レンダリング
  • ボリュームフォグ・ライト
  • パワフルなパーティクルシステム: 炎・煙・爆発
  • 拡張性のあるシェーダセット (GLSL / HLSL)
  • ポストプロセス: 被写界深度・屈折・グロー・ブラー・色補正など

最近では Unigine ベンチマークはシステムをオーバークロックしようとしているユーザーによって使用されています。特に Heaven はオーバークロックの初期安定性テストに使われています。

ベンチマークは AUR から利用可能です (下のリンクを参照)。

参照:

vkmark

vkmark is an extensible Vulkan benchmarking suite with targeted, configurable scenes.

vkmark is available in vkmark-gitAUR package.

Blender-benchmark

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.

Blender-benchmark is available in the blender-benchmarkAUR package.

参照