web-dev-qa-db-ja.com

仮想サーバーのパフォーマンスを測定するにはどうすればよいですか?

Ubuntuを実行しているVPSがあります。仮想サーバーであるため、他のサーバーの不明な数とリソースを共有することを理解し、デスクトップマシンよりもかなり遅いことに気付きました。

仮想マシンのパフォーマンスを測定するツールはありますか?おそらくCPU(操作/秒)、メモリ、およびディスクの読み取り/書き込み速度について、bogomipsに似たおおよその測定値に興味があります。これらの数値をデスクトップマシンと比較できるようにしたいと思います。

VPSが実行されている実際の物理マシンの仕様には興味がありません-cat /proc/cpuinfoを実行することで、それがニースのクアッドコアXeonマシンであることがわかりますが、それは重要ではありません。私は基本的に、プログラムがVPSで実行される速度、1秒間に実行できるCPU操作の数、RAMまたはディスクに書き込むバイト数に興味があります。

私はマシンにsshでしかアクセスできないため、ツールはコマンドラインである必要があります。

たとえば、ループで1秒間計算を行い、実行できたループの数をカウントするスクリプト、またはディスクとRAMのパフォーマンスを測定するようなスクリプトを作成できます。しかし、私はこのようなものがすでに存在していると確信しています。

11
Sergey

誰も答えたくないので... :)

Synapticで「ベンチ」を検索すると、マシンのさまざまな側面をテストできる多くのベンチマークスイートが見つかります。私が以前に聞いたのはphoronix-test-suiteだけです。これは非常に包括的なものであると確信していますが、短いアテンションスパンでは使用方法を理解できませんでした。

次に、 nixBench を見つけました。

UnixBenchは、長年にわたって多くの人々によって更新および改訂された、オリジナルのBYTE UNIXベンチマークスイートです。

UnixBenchの目的は、Unixライクシステムのパフォーマンスの基本的な指標を提供することです。 ...次に、これらのテスト結果をベースラインシステムのスコアと比較して、一般に生のスコアよりも扱いやすいインデックス値を生成します。

マルチCPUシステムが処理されます。 ...テストでは、ベンチマークシステム(SPARCstation 20-61(定格10.0))でコードを実行して設定された一連のスコアと結果を比較することにより、Unixシステムを比較します。

UnixBenchは、 このブログ投稿 のVMパフォーマンステストのツールとしてLinodeによって言及されています。

同一のハードウェアを使用すると、KVM LinodesはXenと比較してはるかに高速です。たとえば、UnixBenchのテストでは、KVM LinodeはXen Linodeの3倍のスコアを獲得しました。

テストスイートはUbuntuリポジトリにはありませんが、ダウンロードしてコンパイルするのは簡単です。

wget https://github.com/kdlucas/byte-unixbench/archive/master.Zip
unzip ./master.Zip
cd ./byte-unixbench-master/UnixBench
./Run

テストの完了には時間がかかります。出力は次のようになります

------------------------------------------------------------------------
Benchmark Run: Mon Oct 15 2012 23:55:22 - 00:23:16
4 CPUs in system; running 1 parallel copy of tests

Dhrystone 2 using register variables       12015218.4 lps   (10.0 s, 7 samples)
Double-Precision Whetstone                     2214.8 MWIPS (10.1 s, 7 samples)
Execl Throughput                                896.9 lps   (30.0 s, 2 samples)
File Copy 1024 bufsize 2000 maxblocks         58968.3 KBps  (30.0 s, 2 samples)
File Copy 256 bufsize 500 maxblocks           14578.6 KBps  (30.0 s, 2 samples)
File Copy 4096 bufsize 8000 maxblocks        422068.2 KBps  (30.0 s, 2 samples)
Pipe Throughput                               70993.3 lps   (10.0 s, 7 samples)
Pipe-based Context Switching                  16001.5 lps   (10.0 s, 7 samples)
Process Creation                               1861.8 lps   (30.0 s, 2 samples)
Shell Scripts (1 concurrent)                   2525.5 lpm   (60.0 s, 2 samples)
Shell Scripts (8 concurrent)                    737.8 lpm   (60.1 s, 2 samples)
System Call Overhead                         432496.2 lps   (10.0 s, 7 samples)

System Benchmarks Index Values               BASELINE       RESULT    INDEX
Dhrystone 2 using register variables         116700.0   12015218.4   1029.6
Double-Precision Whetstone                       55.0       2214.8    402.7
Execl Throughput                                 43.0        896.9    208.6
File Copy 1024 bufsize 2000 maxblocks          3960.0      58968.3    148.9
File Copy 256 bufsize 500 maxblocks            1655.0      14578.6     88.1
File Copy 4096 bufsize 8000 maxblocks          5800.0     422068.2    727.7
Pipe Throughput                               12440.0      70993.3     57.1
Pipe-based Context Switching                   4000.0      16001.5     40.0
Process Creation                                126.0       1861.8    147.8
Shell Scripts (1 concurrent)                     42.4       2525.5    595.6
Shell Scripts (8 concurrent)                      6.0        737.8   1229.7
System Call Overhead                          15000.0     432496.2    288.3
                                                                   ========
System Benchmarks Index Score                                         249.7

------------------------------------------------------------------------
Benchmark Run: Tue Oct 16 2012 00:23:16 - 00:51:20
4 CPUs in system; running 4 parallel copies of tests

Dhrystone 2 using register variables       42619039.2 lps   (10.0 s, 7 samples)
Double-Precision Whetstone                     8274.0 MWIPS (10.4 s, 7 samples)
Execl Throughput                               3398.5 lps   (30.0 s, 2 samples)
File Copy 1024 bufsize 2000 maxblocks         68332.4 KBps  (30.0 s, 2 samples)
File Copy 256 bufsize 500 maxblocks           21462.9 KBps  (30.0 s, 2 samples)
File Copy 4096 bufsize 8000 maxblocks        718205.6 KBps  (30.0 s, 2 samples)
Pipe Throughput                              149713.5 lps   (10.0 s, 7 samples)
Pipe-based Context Switching                  61968.3 lps   (10.0 s, 7 samples)
Process Creation                               5321.7 lps   (30.0 s, 2 samples)
Shell Scripts (1 concurrent)                   5957.1 lpm   (60.0 s, 2 samples)
Shell Scripts (8 concurrent)                    812.6 lpm   (60.1 s, 2 samples)
System Call Overhead                        1557391.5 lps   (10.0 s, 7 samples)

System Benchmarks Index Values               BASELINE       RESULT    INDEX
Dhrystone 2 using register variables         116700.0   42619039.2   3652.0
Double-Precision Whetstone                       55.0       8274.0   1504.4
Execl Throughput                                 43.0       3398.5    790.4
File Copy 1024 bufsize 2000 maxblocks          3960.0      68332.4    172.6
File Copy 256 bufsize 500 maxblocks            1655.0      21462.9    129.7
File Copy 4096 bufsize 8000 maxblocks          5800.0     718205.6   1238.3
Pipe Throughput                               12440.0     149713.5    120.3
Pipe-based Context Switching                   4000.0      61968.3    154.9
Process Creation                                126.0       5321.7    422.4
Shell Scripts (1 concurrent)                     42.4       5957.1   1405.0
Shell Scripts (8 concurrent)                      6.0        812.6   1354.3
System Call Overhead                          15000.0    1557391.5   1038.3
                                                                   ========
System Benchmarks Index Score                                         592.5

つまり、問題のVPSのスコアは、単一タスクでは249.7、並列処理では592.5です。

私のデスクトップマシンは、VPSが実行されている物理マシンと同等またはそれ以下のスペックですが、単一タスクのスコア1409.7および5156.3並列処理用。まさに私が探していたメトリックの種類。

別の重要な測定基準はネットワーク速度です。 script を見つけました。これは、異なる場所からテストファイルをダウンロードし、ダウンロード速度を測定します。スクリプトは次のコマンドで実行できます

wget freevps.us/downloads/bench.sh -O - -o /dev/null|bash

(ただし、実行する前にスクリプトをダウンロードしてその内容を検査する方がおそらく安全です)

ディスクI/Oレイテンシを監視するために、Ubuntuリポジトリからインストールできるiopingユーティリティがあります。

# ioping . -c 10
4096 bytes from . (ext4 /dev/disk/...): request=1 time=16.4 ms
4096 bytes from . (ext4 /dev/disk/...): request=2 time=16.1 ms
...
14
Sergey

それは不可能かもしれません。あなたは詳細を提供していないので、誰も具体的な答えを提供することはできません。しかし、すべてのVPSが仮想ハードウェアを意味するわけではありません。 Linux Containers(LXC)のようなあらゆる種類のソリューションがありますが、これは特定の仕様で仮想マシンを貸すこととは根本的に異なります。

ハードウェアを共有する唯一のポイントは、それを再利用することです。あなたの場合、仮想化されたハードウェアを使用している場合でも、あなたがそれを使用する唯一のものであると確信することはできません。ハードウェアの使用率に関する情報が必要な場合は、代わりに同じ場所にある物理サーバーを取得する必要があります。

0