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
キャッシュのステータスが確認できます


おわりに

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

PHPが学べるおすすめプログラミングスクール

この運営ブログをみて、もしdtn.jp管理人のようにサイトをゼロから作ってみたいという思いに駆られた方は、サイト開発やプログラミングをオンラインで受講できるプログラミングスクールの活用をしてみてはいかがでしょうか。サーバ/WordPress/HTML/CSS/JS/PHP/SQLなどの基本さえ分かれば、ゼロからサイト立ち上げもポンポンできるようになって、今なら仕事や転職にも役立つのでオススメです。

PHPも学べるオンラインスクール

  • CodeCampAWS Cloud9を使ったクラウド上のIDEが用意されているので、ネットにつながればスタート開始可能というゴージャスなスクールです。講師も選べて、Webマスターコースならプログラミング経験0でも一気にフロントエンドからバックエンドまでマスターできます。
  • ウェブカツJava言語やRuby言語なんぞ教えん!という、初心者にありがちな挫折ポイントがよく分かってるスクールです。フロントエンドエンジニアに必要なスキルセット&PHPがマスターできます。
  • フリークス HTML/CSSから始まり、MySQLやLinuxからPHPの変数や分岐やループ、クラスやPDOに最後はMVCまで教えてくれるので、そこまで分かればなんでもできそうです。メンターに質問もし放題がいいですね。
  • テックアカデミー法人のIT研修もやってる業界最大手・受講者数No.1のスクールです。メンターとの定期オンライン面談やチャットサポートなどもあり、大手ならではインフラ環境がウリです。PHPと合わせてjQueryもマスターできる、PHP/Laravelとフロントエンドコースがおすすめです。

オンラインスクールのデメリット

孤独になりがちなサイト制作も、優しいメンターがそばにいてくれれば凄い楽しそうですが、もちろんデメリットもあります。お金がかかるという点です。ひたすらググって、本を読んでよりは確実にコストがかかってしまいます。とはいえ、多少の余裕があるなら、こんなご時世なので時間と労力を買った方が良いと思います。