WordFes Nagoya 2014 に参加してきました。【SESSION2 WordPressのデータベース&パフォーマンス入門編】
愛がある!冒険がある!WordPressがある!
WordPress の地域コミュニティである WordBench Nagoyaのメンバーが中心となって開催する東海地区最大規模の WordPressカンファレンス、WordFes。
2014年は8月30日(土)に名古屋工業大学にて開催されました。
しばらくの間、WordFes Nagoya 2014 の参加レポートを書きたいと思います。
今回は、SESSION2 WordPressのデータベース&パフォーマンス入門 – WordFes Nagoya 2014です。
WordPressのデータベース&パフォーマンス入門
このセッションは中級者・初級者向けのセッション。
内容も
WordPressが重い場合、ほとんどの原因はデータベースです。
このセッションでは、WordPressのデータベースと仲良くするための基本的な考え方や、プラグインを導入する際の選定方法のコツについて、あのプラグイン本の著者が説明します!
ともっと軽くならないかなぁと漠然と考えていたボクにはありがたい内容。
中級者・初級者向けなので、
- WordPressが重くて困ってる方
- ワンステップ上のレベルを目指したい方
- データベースについて自信がない方
と3つとも手を挙げることができる状態のボクは迷わず参加しました。
スピーカーは宮内 隆行さん(@miya0001)。
WP Total Hacksなど数々のプラグインを公開されているプラグイン作者であると同時に、WordPress 3.7からWordPress 3.9のコアコントリビューターでもあります。
WordPressプラグイン開発の書籍も執筆されている方です。
インデックスとは?
データベースを知るにはインデックスを知らないと話にならないってことでまずはインデックスのお話から。
例えば何百ページの書籍の中から1つの単語を探すには索引使ったほうが圧倒的に早いですよね?
索引を使えばページ数が増えても検索に必要な時間は同じになるハズです。
これをデータベースに置き換えてみると、
- 索引 = インデックス
- ページ数 = レコード数
となるので、
インデックスを使ったほうが圧倒的に早いし、インデックス使えばレコード数が増えても検索に必要な時間は同じになるハズです。
おー、すごいストンと落ちました。そりゃインデックス超重要ですわ。
重くなりがちな処理
それを踏まえて、どんな処理をすると重くなりがちになるのか。
例えばカスタムフィールド。カスタムフィールドの名前(meta_key)はインデックスが効いているけど、値(meta_value)にはインデックスが効いていないそうです。
なので、meta_valueの検索・ソートは重くなりがちな処理のようです。
重くなりがちが処理としては他にも、
- 頻繁な書き込み
- 大きなデータ
- Transients API
- テーマ・プラグインのインストール・アンインストール繰り返すとOptionsテーブルが肥大化←起動時に全部読み込み
とインデックス以外にもいくつか原因となるものがあるようです。
これまでボクはテーマ・プラグインのインストール・アンインストールを何度も何度も繰り返しているので、Optionsテーブルを確認したほうがよさそうですね。
重くなりがちなプラグイン
重くなりがちなプラグインというのもあるそうで、
- 人気ランキング系
- Eコマース系は要注意
- その他もろもろ←気になる
自前でやると負荷掛かるので外部で処理するものを選ぶといいようです。
例えば、人気ランキング系なら、Simple GA RankingやJetpack by WordPress.comは外部で処理したデータを表示するタイプのようです。
キャッシュ系のプラグインもたくさんありますが、データベースをどう扱ったらいいかわからない・他のチューニングの意味がわからないのであればWP Super Cacheを使うのが1番無難ということです。
プラグインを使う場合は想像力が大事
プラグイン作者はプラグインをアンインストールした後のことまで考えていないほうが多いので、
- DBに書き込みするのか
- 大きなデータを保存していないか
- どんなSQLを実行しているか
- どのテーブルに保存しているか
- どこに保存されるのか
これらを意識してプラグインを使うことが大事ということです。
遅いSQLの見つけ方
1ページを呼び出すにしても発行されるSQLは1つではないようです。
実際テストを見せていただいたんですが、その時には30以上のSQLが発行されていました。
その中にある遅いSQLを見つけるの使えるのがDebug Barというプラグイン。
具体的な使い方は
を見てくださいとご助言がありました。
いろいろスッキリした!
このセッション、WordPressのデータベース&パフォーマンス入門に参加したそもそもの目的はWordPressがもっと軽くならないかなぁということでした。
軽くするためにはまずは重くなる原因を知る。
基本的な部分をこれまで見落としていたと反省させられたセッションでもありました。
教えていただいたことをもとにして1つずつ自分のWordPressの設定を見直して行きたいなと思います(^-^)
Posted from PressSync Pro – WordPress Blogging App – Hiroaki Hayase on iPhone.
この投稿へのトラックバック
-
-
[…] SSION1 WordPressの最新動向編】 #朝1フォルテ 【68】にくきゅー♡’; collapsItems['collapsArch-2014-8:3'] = ‘ フォルテの気ままな日常[163]早送りで動くフォルテ。 インチョン …[続きを読む] […]
-
- トラックバック URL
この投稿へのコメント