MYSQL: 小さなリソースを持つ多数のスレーブサーバー、または大きなリソースを持つ少数のスレーブサーバー

MYSQL: 小さなリソースを持つ多数のスレーブサーバー、または大きなリソースを持つ少数のスレーブサーバー

マスタースレーブレプリケーション(Select クエリ用)を使用して高可用性を実現したいと考えています。

どちらが良いのか疑問に思います:

  1. スレーブのリソースは少ないが、サーバーの数は多い、または
  2. スレーブのリソースは大きいがサーバーのリソースは少ない

変更クエリには 1 つのマスターのみを使用します: (更新 / 挿入 / 削除)

答え1

場合によります。

ハードウェアで調整する可能性が高いのは RAM です。RAMinnodb_buffer_pool_sizeの約 70% に調整し、それがすべてのデータのサイズよりも大きい場合、I/O は非常に少なくなります。

それが現実的でない(または高価すぎる)場合でも、「ワーキング セット サイズ」が十分に小さければ、そのキャッシュの利点は依然として得られます。

それ以外の場合は、ある程度の I/O 処理能力が必要になります。

速度や CPU コアの数については心配する必要はありません。それがボトルネックになることはほとんどありません。

これを使用して、どのクエリを最も最適化する必要があるかを検出します。 http://mysql.rjweb.org/doc.php/mysql_analysis#slow_queries_and_slowlog

安価なレプリカを 2 つ追加して、パフォーマンスがどの程度優れているかを確認し、さらにいくつかの数値を持って戻って議論します。

関連情報