MySQLにおすすめのCPUスペックは?

このQ&Aのポイント
  • MySQL専用にサーバーを稼動させていますが、スペックの良いサーバーに変えようと思います。
  • MySQLは1プロセスで動作するため、CPUのコア数が多くても効果が薄いと聞きました。
  • 現在の利用環境はCentOS 5とMySQL 5.0です。
回答を見る
  • ベストアンサー

MySQLに良いCPUスペックは?

MySQLに良いCPUスペックは? MySQL専用にサーバーを稼動させていますが、スペックの良いサーバーに変えようと思います。 ただ、「MySQLは1プロセスで動作するので、CPUのコア数が多くしても効果が出ない」と聞いた気がしますが、本当でしょうか? 確かに、現在MySQL専用に使っているサーバーでは、CPU使用率が一つのCPUのみに偏って高くなっています(CPUを使い切れば均等になるのかもしれませんが、実際の使用感は重いです)。 通常の用途で考えるとコストパフォーマンスは悪くなりますが、1コア1CPUでなるべく高いスペックのCPUのサーバーを探すべきでしょうか? いまどきマルチコアでないサーバーもなかなかないのでは…? ちなみに現在の利用環境は、   CentOS 5   MySQL 5.0 です。

  • MySQL
  • 回答数3
  • ありがとう数8

質問者が選んだベストアンサー

  • ベストアンサー
  • spieder
  • ベストアンサー率59% (13/22)
回答No.3

MySQLはマルチスレッドプログラムですので、同時並列で処理できる処理に関しては、使えるCPUの数が多ければ多いほど性能は上がります。 ただし、1つのクエリを処理するのは1スレッドなので、1つのクエリの処理性能は1つのCPUコアの性能に依存します。 なので、Webアプリのような同時並列で多数のクエリを処理することを求められるサーバーならCPUコアの多いサーバーのほうが有利になりますし、バッチ処理のような計算量の多いクエリがいくつか実行するだけならCPUコア1つあたりの処理能力の高いサーバーが有利になります。 実際には、CPUの処理性能よりDisk I/Oの性能がボトルネックになることが多いので、まずは何がボトルネックになっているのかちゃんと現状を把握してからサーバーを変えたほうが良いでしょう。

noborder
質問者

お礼

よく分かりました!ありがとうございました。 DiskI/Oについて検討してみます。

その他の回答 (2)

  • yambejp
  • ベストアンサー率51% (3827/7415)
回答No.2

Centには詳しくないですが、よくFreeBSDのマルチコアのスコアを だすときにMySQLを利用したりしますね。 私の記憶がただしければオクトコアまでは、普通に比例して スピードがあがっていたような・・・

noborder
質問者

お礼

なるほど。。つまり「MySQLでマルチコアのCPU処理速度の評価をしているので、MySQLはマルチコアで能力が高まるはず」、ということですね。 ありがとうございました。

noname#111181
noname#111181
回答No.1

> MySQLは1プロセスで動作するので、CPUのコア数が多くしても効果が出ない 間違っています。 MySQLマルチスレッド(http://dev.mysql.com/doc/refman/5.1/ja/what-is-mysql.html)対応です。マルチコアの方が性能を引き出せます。 > CPU使用率が一つのCPUのみに偏って高くなっています それは、MySQLを利用しているアプリケーションがシングルスレッドなのではありませんか?

noborder
質問者

補足

早速のご回答ありがとうございます。 >間違っています。MySQLマルチスレッド対応です。 マルチスレッドなのは存じてますが、シングルプロセスなのが気になっていました。マルチスレッドであれば、シングルプロセスなのは関係なくマルチCPUの効果を出せるということでしょうか? (別件ですが、今自分で気づきましたが、私はマルチコアとマルチCPUを区別してませんでした。ただ、この質問では、ここを厳密に区別する必要はないかな、と勝手に思ってます。) >MySQLを利用しているアプリケーションがシングルスレッドなのではありませんか? 当方の環境では MySQLしか動作していないサーバー筐体を前提としていますので、ご懸念は当てはまりません。Webサーバー(MySQLを利用するアプリケーション)は別の筐体で動作しています。

関連するQ&A

  • linuxマルチコアCPU環境においてコアの使われ方について

    linuxマルチコアCPU環境においてコアの使われ方について マルチコアCPUがLinxu環境において(その他Linuxでないプラットフォームにおいても)、 実際に搭載されているCPUのコア数が正常にOSに認識されているというだけではなく、 各プロセスの処理に対して複数のコアが適宜効果的に利用されているのかどうか?? ということが知りたく、添付画像に私の疑問点をまとめてみました。 ■ポイント ++++++++++++++++++++++++++++++++++++++++++++++++ 投稿した画像の色がついている4つの矢印は1つ1つそれぞれがDB接続クライアントがmysqlに投げているSQL文(クエリ)をイメージしています。 Mysqlを起動させているlinux kernelは、このクエリを受け取り自身が管理しているCPUがマルチコアであった場合、どのようなロジックで複数のコアの中から4つのクエリを処理させるCPUコアを選択しているのでしょうか? 例)kernelが未使用のCPUコアを都度選んで1クエリの処理を担当するよう制御している ⇒コアによって処理する数は異なる 例)kernelが4つのクエリに対して4つのCPUコアをラウンドロビン分散させて処理させている。 ⇒コアが処理する数は均等になる ++++++++++++++++++++++++++++++++++++++++++++++++ どなたか、私の疑問についてご存知でしたらご教授いただけますでしょうか。 よろしくお願します。

  • SQLが遅い、CPUスペックあげて解決する??

    MYSQLですが、現在4000万レコードほどあるDBで単純な結合SQLを実行してまして、だいたい20分くらいかかってます。 もちろんインデックなども貼っており、 SQL自体も複雑なクエリではないです DBを整理しろなどの意見もあると思いますが そこはとりあえずおいといて、スペックをあげて解決するかが知りたいです。 現在、CPU 2コア、2G程度のwindowsサーバ2012r2 同時使用接続ユーザが最大8人程度です。 CPU 3コア、6G程度と CPU 4コア、4G程度 が同じくらいの料金アップなのですが、 どっちが良いでしょうか、、

  • MySQLのプロセスがCPUを喰っています

    会社でサーバーの管理を任されている者です。 最近サーバーが重くなったという報告を受け、ターミナルでログインして調べてみたところ、MySQLにプロセスがCPUを30%ほど常時使用している事がわかりました。 これがサーバーが重くなった原因かどうかはわかりませんが、正常ではないような気がします。 ちなみにプロセスに表示されているのは以下のような感じです。 -------------------------------------------------- mysql 2444 30.1 0.8 109756 17332 ? S 21:06 4:00 /usr/sbin/mysqld --basedir=/ --datadir=/var/lib/mysql --user=mysql --pid-file=/v・・・ -------------------------------------------------- CPU使用率は変化しますが、大体30%前後です。 サーバーの再起動をしてみましたが、しばらくするとまたこれぐらいCPUを使用しています。 たまたまプロセスを見たときに、なんらかのクエリーが出ていた可能性はありますが、一ヶ月ほどウォッチしてみましたが、いつも同じような感じです。 これを解消する手だてはないのでしょうか・・・

    • ベストアンサー
    • MySQL
  • マルチコアCPUの負荷偏り

    マルチコアCPUの負荷偏り CPUの負荷をsar -P ALLで見ると1つのコアのみ負荷が高い場合が多いと思うのですが、これはなぜでしょうか? また、解決する方法(すべてのコアに均等に負荷をかける)はあるのでしょうか?

  • 搭載されているCPUの調べ方

    Windows Server 2008 です。 このサーバのCPUの個数を教えて下さい。 「コンピュータ」アイコン右クリックで表示されるサーバのスペックの画面で プロセッサ: Intel(R) Core(TM) i3 CPU 540 @ 3.07GHz 3.06GHz となってます。 このCPUのスペックを調べてみますと「2CPU」という事なんですが、タスクマネージャ → パフォーマンス の「CPU 使用率の履歴」を見るとグラフが4つ出ています。 という事は、2コア × 2CPU = 4 という事でCPUは2つ入っているのでは?と思うのですが、間違ってますか?

  • マルチコアCPUにおける周波数とは

    お世話になります。 マルチコアCPUのスペックに記載されている周波数はコア1つに対するものか、すべてのコアの合計値なのかどちらでしょうか? 例えば1つだけのタスクにCPUを100%した場合、 2コア1GHzのCPUと同等の処理速度を示すのは1コア2GHzか1コア1GHzどちらでしょうか? もしくはどちらも間違っているのでしょうか? どなたかご教示お願いします。

  • CPUの使用率について

    CPU:Q6700 2.66GHz グラボ:8800GTS 512MB メモリ:4GB DDR2 上記のスペックでネットゲーム(メイプルストーリー)をやっているのですがそのゲームが重くなります。 マルチコア対応では無いネットゲームだからだと思いますが ネットゲームをやりながら「CPU使用率」と「CPU使用率の履歴」をみますと、使用率は25%で履歴は1コアだけが最大になって他の3つは殆ど使われておりません。 数字で表しますと(1)99% (2)0.5% (3)0.3% (4)0.3%こんな感じだと思います。 そこで質問なのですが、(1)のコアが100%になると自動的に(2)のコアも使用されるんでしょうか?また、最初から他のコアにも負担を振り分けられるソフトのようなものがあるのでしょうか? 宜しくお願い致します。

  • CPU稼働率について

    AMD PhenomII x6をつかっているのですが ゲームなどをしてCPUの仕様率を見てみると 1~4つは100%近く起動しているのですが ほぼ0%のコアが何個かでてきます 合計のCPU仕様率が100%でもないのに PCが重くなったりします 使ってて不便ではないのですが 気になってしかたないです 電量力が足りないのでしょうか? すべてのCPU仕様率を均等にできるようなソフトはあるのでしょうか? もしかしてマルチコアCPUではそれが普通? どなたかよろしくお願いします

  • mrtgのスペック計算について

    CentOS6.3でmrtgを稼働させたいと思っています。 推奨スペック(CPU・メモリ)等の計算をしたいと思っているのですが どこかに計算方法等が載っているページはありませんでしょうか? 公式を一応見たのですが、見つけることが出来ませんでした。 サーバ20台(linux、Windows)、ネットワーク機器10台ほど載せたいと考えているのですが よろしくお願いします。

  • Core i7 の CPU使用率のグラフについて

    Core i7 の CPU使用率のグラフについて 4コア + HT の CPUにつき、タスクマネージャ の パフォーマンス の CPU稼働率のグラフは 8つ並んでいます。 この8つのグラフはそれぞれ何番目が、どのコアを表示しているのでしょうか。 ネットで検索するもわかりませんでした。 よろしくおねがいします。