ハードディスクメンテナンス ブログ

投稿記事数捌阡貳陌以上!PC,旧ゲーム,カメラ,動画などを、アヤしゐ專門妖語を使ッて解説スル!

クエリに対して複数コアを使いこなさない問題(MySQL)

   

>>高還元のクレジットカード比較 期間限定のキャッシュバックなど!<<


3コアのCPUに換装したDBサーバーであるが、重いクエリを発行した場合、複数コアを有効に使っていないことに気付く。

まぁ、これは換装前(2コア)の時点で、既に分かっていたことであるが。

# 今回は余っていたCPUを転用しただけで、費用は掛かっていないのだ。

実際にモニターしてみると…

3コア

グラフの全範囲でCPU占有率は高いものの、100%に達しているのは3つあるうちの1コアだけである。

しかも、ほとんどが橙色(CPU1)であり、たまに赤色(CPU2)と緑色(CPU3)が「登板」するものの、それらはごく短時間。

CPU1がMAX(100%)まで使われている間、CPU2とCPU3が40%以下で休んでいるなら、CPU2とCPU3もMAXまで使い、処理時間を短くしろ、と、普通は考えるだろう。

同じハード構成で、別のパターン。

3コア

CPUの入れ替わりは先の場合に比べ頻繁になってはいるが、100%に達しているのは1つだけだ。

ッたく、他は何をやってるんだ!

これなら3コアを雇用する意味はない!

解雇(クビ)だ!クビ!

と、実世界ではなりそう(マジレスするとなってるw)が、これは、1つのクエリを複数のコアで処理することができないため。

また、本件のMySQLのバージョンは5.1.73であり、古いことも影響している。

まぁ、最近はシングルコアを探すのが難しく、最安のCeleronでもDualコアなので、あまり神経質になることもなかろう。

複数クエリや複数使用となってくると、複数コアのメリットが生きてくる。

今回は業務(つまり社内)用途であり、同時利用者数がそれほど多くないので、複数コアを上手く生かせないが、これが一般公開WEBサービス等で、利用者が非常に多い場合は、複数コアを生かせるだろう。

スポンサーリンク

サーバーの場合、ディスクやメモリーは分かりやすい(簡単)であるが、CPUの場合は意外と複雑なのだ。

クライアント端末の場合は、CPU不可が高い原因は比較的簡単に掴めるし、用途が分かればCPU能力が必要かは判断できる(エンコードであればCPU等)が、サーバーの場合は用途だけでなく、その細部を探らなければならない。

いずれにしても今は安いので、それなりの用途(大規模ではない)であれば、CPUもメモリーもディスクもそれなりのもので十分。

それでも遅いなら、DBの設計やSQL文、indexが有効に使用されているか等を見直すことだ。

あとは、工夫。

最終結果の表示が遅いなら、最終結果をDBに格納しておき、それを出せば軽くなる。

少しでも速く ━

開発をしているとそういう気になってしまい、CPUを変えたら?と思うが、そういう場合、替えても大して速くならない(泣)

その後、基本に戻るのだが、そのような考えが「定期的に」出てくるので困ったものだ(笑)

実践ハイパフォーマンスMySQL 第3版
Baron Schwartz Peter Zaitsev Vadim Tkachenko
オライリージャパン
売り上げランキング: 21,426
スポンサーリンク



sha-bc@336×280

sha-bc@336×280


sha-bc@336×280

sha-bc@336×280

  関連記事

no image
CPU対決!激重SQL編!(Phenom X3 8400 vs Core i5 650)

実行時間が70秒近くかかる激重クエリがある。 この実行に於ける、ハードウェアの違 …

no image
Debianのミラーの片方に不良セクタが発生(Current Pending Sector Count)

Debianのミラーの片方に不良セクタが発生した(代替処理待ちのセクタ)。 Cu …

no image
激重激遅SQL文の活用方法

結果を得るのに実行時間:68.400223970413秒もかかる激重SQL文。 …

アカ(Ubuntu 14.04)_内部エラー
内部エラーが発生しました(Ubuntu 14.04)

メモリー不足か熱杉流セーか不明だが、CF-R6上で動いているUbuntuでエラー …

no image
DATE型にNULLを格納する方法(0000-00-00の回避,MySQL)

MySQLで、フィールド `date` を、DATE型、NULL許可で作成する。 …

Intel SSD Toolbox
8MB化したSSD(X25-M SSDSA2MH080G1GC)の回復作戦 – 多大な犠牲の上に成功!

8MBとなってしまったIntelのX25-M SSDSA2MH080G1GC(8 …

Optimize Your Database
WordPressで使用しているデータベースの使用容量を下げる方法

WordPressはブログシステムだから、主にテキストと画像で構成される(本ブロ …

no image
バッドセクタ数:15→10→9→5→9wwwwwwwwww

ココで書いた、バッドセクタの発生したハードディスクだが、その後放置すると、バッド …

no image
MySQLに於けるGROUP BYでのミス(集約キー以外を書いてしまう)

テーブル名:商品一覧 商品名,販売単価,仕入単価 品目A,1000,700 品目 …

no image
論理集合(和・積・差)

和:和集合:A union B (重なり合う部分は1回のみ含む) A∪B(Aカッ …