さて、私が取り組んでいるたくさんのプロジェクトのために、私は3つのホスティングプロバイダー上の専用サーバーにアクセスしました。
実験として、また教育目的で、IOがそれぞれにどれだけ優れているかをベンチマークできるかどうかを確認することにしました。
少し調べてみると、ボニー++にたどり着きました。
だから私はそれをサーバーにインストールし、この簡単なコマンドを実行しました
/usr/sbin/bonnie -d /tmp/foo
異なるホスティングプロバイダーの3台のマシンはすべて専用マシンであり、1台はVPSであり、他の2台はクラウドプラットフォーム上にあります。ある種のクラスター化されたSANをストレージに使用するVMWare/Xen
これは単純なことかもしれませんが、ここに私が見つけた結果があります。
Host A
Version 1.03c ------Sequential Output------ --Sequential Input- --Random-
-Per Chr- --Block-- -Rewrite- -Per Chr- --Block-- --Seeks--
Machine Size K/sec %CP K/sec %CP K/sec %CP K/sec %CP K/sec %CP /sec %CP
xxxxxxxxxxxxxxxx 1G 45081 88 56244 14 19167 4 20965 40 67110 6 67.2 0
------Sequential Create------ --------Random Create--------
-Create-- --Read--- -Delete-- -Create-- --Read--- -Delete--
files /sec %CP /sec %CP /sec %CP /sec %CP /sec %CP /sec %CP
16 15264 28 +++++ +++ +++++ +++ +++++ +++ +++++ +++ +++++ +++
xxxxxxxx,1G,45081,88,56244,14,19167,4,20965,40,67110,6,67.2,0,16,15264,28,+++++,+++,+++++,+++,+++++,+++,+++++,+++,+++++,+++
Host B
Version 1.03d ------Sequential Output------ --Sequential Input- --Random-
-Per Chr- --Block-- -Rewrite- -Per Chr- --Block-- --Seeks--
Machine Size K/sec %CP K/sec %CP K/sec %CP K/sec %CP K/sec %CP /sec %CP
xxxxxxxxxxxx 4G 43070 91 64510 15 19092 0 29276 47 39169 0 448.2 0
------Sequential Create------ --------Random Create--------
-Create-- --Read--- -Delete-- -Create-- --Read--- -Delete--
files /sec %CP /sec %CP /sec %CP /sec %CP /sec %CP /sec %CP
16 24799 52 +++++ +++ +++++ +++ 25443 54 +++++ +++ +++++ +++
xxxxxxx,4G,43070,91,64510,15,19092,0,29276,47,39169,0,448.2,0,16,24799,52,+++++,+++,+++++,+++,25443,54,+++++,+++,+++++,+++
Host C
Version 1.03c ------Sequential Output------ --Sequential Input- --Random-
-Per Chr- --Block-- -Rewrite- -Per Chr- --Block-- --Seeks--
Machine Size K/sec %CP K/sec %CP K/sec %CP K/sec %CP K/sec %CP /sec %CP
xxxxxxxxxxxxx 1536M 15598 22 85698 13 258969 20 16194 22 723655 21 +++++ +++
------Sequential Create------ --------Random Create--------
-Create-- --Read--- -Delete-- -Create-- --Read--- -Delete--
files /sec %CP /sec %CP /sec %CP /sec %CP /sec %CP /sec %CP
16 14142 22 +++++ +++ 18621 22 13544 22 +++++ +++ 17363 21
xxxxxxxx,1536M,15598,22,85698,13,258969,20,16194,22,723655,21,+++++,+++,16,14142,22,+++++,+++,18621,22,13544,22,+++++,+++,17363,21
さて、最初に数字を読むための最良の方法は何ですか、そしてこれらの数字を実際に比較することに問題はありますか?
これは何らかの形でIO速度の真の表現ですか?
そうでない場合、私がそれをテストする方法はありますか?
注:これらの3台のマシンはUbuntuまたはDebianのいずれかを使用しています(私はそれは実際には問題ではないと思います)
これらのサイトは、ボニーの結果の解釈に役立ちます。
http://www.textuality.com/bonnie/advice.html
http://www.issociate.de/board/post/478953/Understanding_bonnie++_results.html
http://sourceforge.net/projects/witme/files/bonnie-to-chart/
最初に-ここでいくつかの矛盾に対処したいと思います:
3つの異なるテストサイズを実行し、他のシステムパラメータを表示していないため、結果を評価するのは難しいです。 (ここのCPUは何ですか?どのような種類のディスクサブシステムですか?なぜ3つの異なるサイズを実行したのですか?なぜ異なるバージョンのbonnieを使用したのですか?どのファイルシステムで実行していましたか?ファイルシステムのマウントオプションを改善しましたか?)
どの仕様が重要かは、アプリケーションのニーズによって異なります。ビデオストリーミングには、高速読み取り(ボニー入力)パフォーマンスが必要です。ビデオ録画には、高速書き込み(ボニー出力)パフォーマンスが必要です。等.
これが私が通常使用するいくつかのボニーのヒント/トリックです:
システムを減らすRAMできるだけ低くするブート時にカーネルパラメータを渡してこれを行うことができます。mem= 512MBは私が通常使用するものです。これにより、ローカルOSキャッシュの影響が最小限に抑えられます。 IOテスト中。
適切なテストサイズを使用して強調するIO 5〜20Gが適切なテスト範囲であることがわかります。結果がさまざまな範囲で類似していることを確認してから、すべてのテストで同じサイズを使用してください。
文字ごとのテストを気にしないでください。
実際のディスク使用量を反映しておらず、実行に時間がかかります。 (ディスクI/Oのすべては、文字ではなくブロックで発生します)
SANで実行している場合は、テストを実行する前にブロックレイヤーをゼロにすることを検討してください。スペースを割り当てるときに、初回書き込みのペナルティが発生する場合があります。テストを実行する前にドライブ全体を削除すると、これにヒットしていないことを確実に知ることができます。 (同じノードでテストを数回繰り返して結果を比較することも、これが問題であるかどうかを特定するのに役立ちます)
他の人があなたのテストを複製するのを助けるために、常にあなたのボニーコマンドラインを投稿してください。
EC2ヒント:AWS EBSでソフトウェアRAID0ストライプを実行すると、パフォーマンスが向上することがわかっています。IO.