MySQLについて考える

たまに出ていたSQLのエラーを出さないようにする為にはどうしたものか?といったことをネットで調べていたところこんな記事を見つけました。

第 3 回 MySQL サーバーを調整する

サーバー調整のヒントで MySQL サーバーを飛躍させる

https://www.ibm.com/developerworks/jp/linux/library/l-tune-lamp-3.html

クエリーをキャッシュする

このIBMが公開してくれている技術文書にあるようにmy.confに設定を入れました。

query_cache_size = 32M を /etc/my.conf に追加すると、32MB のクエリー・キャッシュを有効にすることができます。

https://www.ibm.com/developerworks/jp/linux/library/l-tune-lamp-3.html

デフォルトで無効になっているクエリー・キャッシュを有効にしたところ、表示速度が体感で速くなったので、効果はかなりあるようでした。

このMySQLを飛躍させる方法にも記載されている通り、体感でもこれだけ高速化ができるのであればデフォルトで有効化しておけば良さそうですが、システムによってはリソースの枯渇原因ともなりそうなので、無効化がデフォルトになっているようです。

多くの LAMP アプリケーションはデータベースに大きく依存していますが、同じクエリーを何度も繰り返し行います。クエリーが実行されるたびに、データベースは同じ作業を行わなければなりません (つまりクエリーを解析し、その実行方法を決定し、ディスクから情報をロードし、その情報をクライアントに返します)。

MySQL にはクエリー・キャッシュと呼ばれる機能があり、クエリーの結果が再度必要な時のために、その結果をメモリーに保存します。多くの場合、これによってパフォーマンスを劇的に向上させることができます。ただし注意する点として、クエリー・キャッシュはデフォルトで無効になっています。

キャッシュのヒット状況

どれぐらいキャッシュにヒットしているかについては、MySQLにログインしてコマンドで確認をすることができました。

mysql> SHOW STATUS LIKE 'Qcache%';
show_mysql_status.png
キャッシュのステータスが確認できます


おわりに

このステータスをずっと見ていると、バシバシとキャッシュにヒットしている状況がわかり、とても気持ちがいいです。似たような症状でお悩みの方はぜひお試しを。

ABOUT dtn.jp

この運営ブログをみてdtn.jpの運営サイトに興味をお持ちになった方は下記のリンク集からサイトをご参照ください。PHP・SQL・JS・HTML・CSSや様々なAPIでゼロから立ち上げたサイトを複数運営しています。

dtn.jp関連サイト

  • ディレクトリ型検索エンジンdtn大手は全てサービスを終了してしまい、中小でも運営を継続するところがほとんど無くなったディレクトリ型検索エンジンを、2002年から細々運営しております。今も申請されたサイトは実際に管理人が訪問して確認後に登録しています。是非登録どうぞ。
  • 猫ネコサーチエンジン猫・ペットサイト専用のディレクトリ型検索エンジンです。登録サイトはサイトのスクリーンショット付きでカテゴリに掲載をいたします。
  • 画像掲示板の泉画像・YouTube・ニコニコ動画・Tiktokの貼り付けが可能な匿名画像掲示板です。27ジャンルに分かれた掲示板に、それぞれ100スレッドまで立てることが可能です。
  • ツイータンTwitter APIを使って10分おきに収集したTwitterトレンドワード・人気ハッシュタグデータを、月別に集計してランキング形式で公開しています。年間トレンドワードも公開中。
  • Keyword Tool++Yahooショッピングや楽天のトレンドワードデータを日次収集し、EC系の人気キーワードをラインキング形式でご紹介しています。各ワードの検索ボリュームや関連語、24か月の検索ボリュームをグラフで確認が可能です。
  • 消費者金融の泉カードローン商品を取り扱う金融業者を一覧で比較可能としたサイトです。カテゴリ別、人気度別、限度額別、金利別に比較可能です。
  • TrendinGファッションブランドを人気アイテムヒット率でランキング化し、一覧でご紹介しているサイトです。

各サイトの開発方法などについて

各サイトの開発方法や運用トラブルについては、当ブログで不定期にご紹介しています。Twitterで新着記事のお知らせもしています。宜しければフォロー下さい。