2

こんにちは最近、2 つの異なる ubuntu サーバーでテストを実施しました。

    Here are the results:
    innodb_flush_trx_commit = 1
    Staging Server: 10,000 Inserts ----> 81 seconds  
    innodb_flush_trx_commit = 2 
    Staging Server: 10,000 Inserts ----> 61 seconds  

    Dev     Server: 
    innodb_flush_trx_commit = 1
    10,000 Inserts ----> 5 seconds  
    Dev     Server: 
    innodb_flush_trx_commit = 2
    10,000 Inserts ---->  2 seconds 

    I am clear that performance vary with innodb_flush setting.
    But why there is a huge diff in performance from the server to server ?

ここで考慮すべきことは何ですか...?考慮された詳細の一部を次に示しますが、疑わしい重要なことはありません。

    staging server: Intel(R) Xeon(R) CPU X5355 @2.66GHz
                    processor 0, 1  
                    mysql 5.1.61
                    innodb_buffer_pool : 8MB
                    RAM: 4GB                        

    dev     server: AMD Opteron(tm) Processor 4130 @2.60ghZ
                    processor 0, 1  
                    mysql 5.0.67
                    innodb_buffer_pool : 8MB
                    RAM: 4GB

異なるサーバーでのパフォーマンスのこの大きな違いにつながった正確なものは何かを理解するのを手伝ってください...?

  NOTE: same script used in the same way on noth the servers and not from remote  
        sesrvers.

前もって感謝します。よろしく、UDAY

4

4 に答える 4

2

私が経験するいくつかの質問...

1 つのインスタンスでバイナリ ログがオンになっていて、もう 1 つのインスタンスではオンになっていませんか?

ステージング サーバーはネットワーク ドライブを使用して mysql データにアクセスしていますか?

ファイルシステムのタイプは両方のサーバーで同じですか (ext3、ext2 など)?

ここでは、ディスク アクティビティが原因のようです。

于 2012-04-04T10:09:23.437 に答える
1

また、ディスク使用率を確認することをお勧めします。テストの実行中にディスク使用率がどのように実行されるかを生のアイデアを得るには、使用できますiostat(redhatベースのシステムではパッケージに含まれていますsystat

たとえば、次のことを試すことができます。

iostat -xd 1

これは、これと同様の出力につながります。

Device:         rrqm/s   wrqm/s     r/s     w/s   rsec/s   wsec/s avgrq-sz avgqu-sz   await  svctm  %util
sda               0.00     0.31    0.00    0.05     0.16     2.89    56.67     0.00    2.99   0.62   0.00

awaitここで、両方のマシンの時間を比較します。このメトリックは、ディスクがI/O要求を処理するために必要な平均時間をミリ秒単位で示します。大きな違いがあるかどうかをすばやく確認する方法です。%utilまた、メトリックも興味深いかもしれません。これは、デバイスにI / O操作を発行する際に費やされたCPU時間のパーセンテージを示します。この値が高くなるほど、デバイスが完全に飽和状態に近づくほど高くなります。

その他のオプションについては、を確認してくださいman iostat

もちろん、上記の説明は、ディスクのパフォーマンスの非常に基本的な概要のみを示しています。したがって、問題を追跡するために、前述の操作の追加操作としてこれを覚えておいてください。

于 2012-04-04T10:34:38.120 に答える
1

ステージング サーバーは運用サーバーですか? その場合、おそらく並行性の問題です。多くのユーザーがそのサーバーで作業している場合、挿入先のテーブルが他のユーザーによって使用されている場合は特に、挿入が遅くなる可能性があります。開発サーバーはおそらく負荷がはるかに少なく、同時に使用する開発者はごくわずかです。

于 2012-04-04T10:03:26.963 に答える
1

ハードウェアの違いは脇に置いておきます (これは簡単な仮定ではありません)。クエリのパフォーマンスに影響を与える要因は次のとおりです。

  1. DBMS エンジンのバージョン
  2. 使用されるクエリ プランとデータベース統計
  3. ネットワーク遅延
  4. DBMS エンジンに割り当てられたメモリ (トランザクション バッファ ログを含む)
  5. DBMS エンジンのプロセス/スレッドの優先度
于 2012-04-04T10:07:05.260 に答える