web-dev-qa-db-ja.com

ホスティングプロバイダーのベンチマークIO with Bonnie

さて、私が取り組んでいるたくさんのプロジェクトのために、私は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のいずれかを使用しています(私はそれは実際には問題ではないと思います)

1
Derek Organ

これらのサイトは、ボニーの結果の解釈に役立ちます。

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.

5
Joel K