web-dev-qa-db-ja.com

MySQLデータベースサーバーのコア数RAMまたはそれ以上のコア?

これがあなたの専門家の助言が大好きなシナリオです:

私は現在、約2GBのデータベースを持っています。おそらく1年間で2倍になります。注文する専用DBサーバーに最適なサーバーパフォーマンスが必要です。これは、WordPress、フォーラム、メディアウィキを実行しているかなりトラフィックの多いサイトのバックエンドとして使用されます。ほとんどのデータベーストラフィックは読み取り専用である必要があります。

だから問題は、本当に4GB以上のRAMが必要なのか?そして、私は8コアに行くべきですか、それとも4コアにすべきですか?どちらがより重要ですか?

[編集]フォローアップと同じように、8 GBのRAMを搭載した8コアサーバーで大きな成果を上げたので、それを採用しました。成長する余地がたくさんあることを知ってうれしい。

5
The How-To Geek

興味深い質問。まず、現在のアプリケーションのボトルネックを定義してみてください。説明といくつかの実用的な知識から、4つのボトルネックが考えられます。

  • nic
  • hdスループット
  • cPU(速度)
  • cPU(コア)

これで、ramは問題になりません。dbが2Gしかないため、すべてのキーをバッファしてインディゼーションするだけでなく、実際には、RAM内のdb全体を2Gにして、それに応じて(MyISAM-)key_bufferやinnodb_buffer_pool_cacheをサイズ設定するとします。 ! ram <dbsizeを使用しても問題ないでしょう。通常、dbのすべての部分が同時に使用されるわけではないためです(ymmv)。

もちろん、ramはメモリテーブル、並べ替えと順序付け、およびいくつかの結合操作にも使用されるため、データベースが行うクエリの複雑さ、および非常に大きな結果セットを返すかどうかを確認する必要があります。わかりませんが、wordpressもmediawikiもそこでは複雑な操作を実行しないと思います。したがって、適度な量のRAMを取得してください。

大規模なデータベースでは通常、HDがボトルネックになりますが、とにかくRAMにキャッシュすることができ、大部分は読み取り操作があると言うので、通常の大規模なデータベースの場合、経験則はhdスループットです。が主なボトルネックなので、1。hdsを購入し、2。必ずしも最速のものを購入する必要はありませんが、それらの多くを購入します。あなたの場合、私は言うでしょう:とにかくすべてがキャッシュされます。

コアに関して:MySQLは確かに多くのコアを利用できますが、主に複雑な計算、手続き型プログラム、ソートおよびマージ操作にそれらを必要とします。 「Select * from table」または「select * from table where ...」のような単純なクエリは、コア数を増やすことによるメリットはあまりありません。多くの接続では、小さなメリットしか得られません。多くのコアよりも高速なプロセッサを選択する必要があると思います。

主なボトルネックとしてnicを確認し、プライマリインターフェイスのトラフィック量に応じて、2番目(3番目、4番目...)のnicについて考える必要があると思います。

したがって、すべてをまとめると、私はお金を(この順序で)費やします:-複数のNIC(それが実際にボトルネックである場合)-高速プロセッサ-2-4コア-2-4G RAM 8Gを後でプラグインするオプション(とにかくコアよりも安い)-可能な限り最高のディスクサブシステム(あまり必要ありませんが、後で拡張するのに役立ちます)

乾杯、ニック。

6
nikb

Nikbが述べているように、アプリケーションを理解することが重要ですが、これを知る代わりに、次の経験則をお勧めします。

DBの一部のみが定期的に読み取られたり書き込まれたりしない限り、追加のコアは、すべてのDBと補助データ(インデックスなど)をメモリに配置することによるパフォーマンス上の利点に匹敵しません。 lotsの同時クライアント数が多い場合や、レポートやインデックス作成などのバックグラウンド作業が多い場合は、追加のコアが役立ちます。

私があなただったら、かなり最近のIntel 55xxシリーズベースのデュアルソケットサーバーを選び、4 x 4 GB DDRメモリモジュールを搭載した4コアのハイパースレッドプロセッサを1つ購入するだけです(誰かに売られないようにしてください2/4/8など、55xxの使用3、6、9などはOKです。そうすれば、将来2番目の同一プロセッサを非常に迅速かつ簡単に追加できるだけでなく、それらのチップは次期8コアチップとプラグ互換であるため、最初に入手したチップをいつでも交換できます。

これが何らかの助けになることを願っています。

7
Chopper3

Nikbの提案は健全です。考慮すべきもう1つの領域:

アプリケーションのインスタンス/アプリケーションアーキテクチャがアクセスできるRAM(またはCPUコア、またはディスクシステム)はどのくらいですか?

RAM 14GBのクアッドコアサーバー上のアプリケーションは、CPU使用率が25%未満で、RAM使用率が低いにもかかわらず。アプリケーションエンジンは1.5GBのRAMにしかアクセスできないことが判明しました。マシンへの影響はわずかでしたが、アプリケーションインスタンスが最大になりました。

0
pcapademic