web-dev-qa-db-ja.com

優れたハードウェアアップグレード後のMysqlのパフォーマンスの低下

私はPercona /データベースサーバーにまったく慣れていないので、次の問題に取り組む方法がわかりません。

数日前、私はperconaクラスター(3ノード)サーバーのハードウェアをはるかに優れたものにアップグレードしました。

以前のハードウェアの仕様:

Vendor: OEM  
cpu: i7-3930K 3.2 GHz(12 cores)  
RAM: 64G  (8 x 8GB DIMM DDR3 1334Mhz)
I/O: software RAID

新しいハードウェアの仕様:

Vendor: Dell PowerEdge™ R730 DX291   
cpu: Intel(R) Xeon(R) CPU E5-2630v3 2.4GHz  (32 cores)
RAM: 128G  (8 x 16GB DIMM DDR4 1866Mhz)
I/O: Hardware raid ( raid10 - 1024M Non-Volatile cache - Adaptive Read Ahead - Writeback) 

データベースワークロード:

writes (inserts-updates): 25 per second
reads (select): 350 per second

サーバーの違いは非常に大きく、percona(mysql)のパフォーマンスが大幅に向上すると予想していましたが、新しい遺物からさまざまな統計を表示した後、反対のことに気づきました。

たとえば、一部のクエリの応答時間は2ミリ秒から6ミリ秒に増加しました。他のいくつかの選択クエリのクエリ時間が50ミリ秒から75ミリ秒に増加しました。

これをトラブルシューティングする方法はありますか?

2
giomanda

まず、ワークロードと手元のハードウェアをよりよく理解せずに質問に答えることは困難です。例えば:

  1. ワークロードは読み取りまたは書き込み中心ですか?
  2. ハードウェアRAIDに非揮発性の書き込みキャッシュがありますか?もしそうなら、それはライトバックまたはライトスルーモードで構成されていますか?
  3. あなたのDRAMモジュールの速度はどれくらいですか?
  4. 等々...

とにかく、いくつかの知識に基づいた推測をしてみましょう。ワークロードは読み取り中心であり、XeonのRAMは高密度ですが、速度が遅いバージョンです。そうであれば、おそらく次の要因に悩まされます。

  1. 低いクロック:i7-3930kの速度は3.2/3.8 GHz(ベース/ターボ)ですが、Xeon2630v3は低い2.4/3.2GHzで動作します
  2. 低速メモリ:密度とECC要件が高いため、Xeonレイテンシはi7よりも大幅に高くなるはずです
  3. デュアルソケットとシングルソケット:最大のパフォーマンスを引き出すには、マルチソケットシステムを慎重に調整して、不要なプロセスの移行、キャッシュのトラッシング、余分なリモートノードメモリアクセスなどを回避する必要があります。

つまり、アプリケーションの特定のニーズを追跡する必要がありますbeforeクラスターインフラストラクチャを変更します。そうしないと、低遅延のハードウェアが必要なときに高スループットのハードウェアを購入するリスクがあり、その逆も同様です。

1
shodanshok