2016-11-01 5 views
1

ストレステストツールでテストします(多くの同時ユーザーと多数のクエリを実行するため)。私は5台のサーバーを使用してより多くのdbサーバーを使用するときに速度が追加されていません。Galera ClusterとMaxScaleを使用して、複数のdbサーバーを使用してmariaDBクエリを高速化する方法はありますか?

私は各サーバーをチェックしており、各サーバーにクエリが配布されていることがわかります。

データベースサーバーをスケールアップしてクエリを高速化するにはどうすればよいですか?

答えて

1

Galeraは、クラスタ内の約5つのノードで最大になります。おそらく、他のすべてのノードへの各書き込みをブロードキャストし、応答を待っているためです。

MySQLをスケールアップする方法はたくさんあります。 Galeraはその1つで、今日はの場合はと書いてあります。

の場合、読み取りの場合、複製スレーブは事実上無制限のスケーリングを提供します。従来のレプリケーションスレーブを各Galeraノードから切り離すことができます。これにより、5つのノードから読み込みをオフロードできます。スレーブはカスケード(「リレー」を使用)することができ、無制限のスケーリングが可能です。サーバには簡単に10人の奴隷がぶら下がります。その6つのレベルを実行し、あなたは100万のサーバーを持っています。 (私は3つ以上のレベルと30以上の奴隷で働いていません)

一般的なスケールアップ方法はコードを見ることです。 Composite indexesは多くの初心者には分かりません。挿入するには、バッチ処理とLOAD DATAが非常に効果的です。データウェアハウジングの場合、Summary tablesは「レポート」を10倍高速化することがよくあります。高速摂取の場合、ping-ponging a staging tableは非常に良好です。 GUID/UUIDインデックスの場合は、abandoningが最適です。同上はEAVです。巨大な削除にはseveral approachesがあります。

およびmy tips on Galera

+0

ありがとうございました、このステートメントについては、 "おそらく今日の書き込みスケーリングのためには最高の"と言えます。重い挿入クエリでテストしましたが、ノードを追加すると改善はありません。 – tesmojones

+0

単列インサート?バッチ処理?自動インクリメントを使用していますか?あなたの「重い挿入クエリ」を記述してください。パフォーマンスを向上させる方法があるかもしれません。 –

関連する問題