よろずさん主催のWordBench埼玉の勉強会が、2010年7月17日に開かれました。
今回、かなり席が満席の状態です。
WordPress3.0を勉強したいという人が多いと言う事ですね。
目次
Twentytenをかみ砕いて、WordPress3.0に対応したテーマを作成しよう
loop.phpを使用して、ループ部分を簡潔にできる。
get_template_partを使って、Frameworkを作って子テーマを楽に作ろう
get_template_partで楽に子テーマを作れると言う事。
私の意見としては、WordPress3.0のご酸味は、何と言ってもマルチサイト!
親テーマをきちんとFrameworkで作れば、子テーマはCSSファイルだけでいけます。
私も現在マルチサイト化していますが、親テーマを元に子テーマでいかに楽してテーマを作成できるかに挑戦中です。
お土産のお菓子達♪
WordPress3.0から始めるWordPressの負荷分散
続いて、大曲さんのWordPress3.0から始めるWordPressの負荷分散のプレゼンです。
DB負荷分散の仕組み
Mysqlの書きだしと読み出しの負荷分散。
一台で処理できない部分を複数台で負荷を分散する。
DB負荷分散によるメリットとデメリット
デメリットは遅延が発生する。
Mysqlのレプリケーション設定
マスターサーバ
スレーブサーバ
3.0で変わったwp-db.php
何それ?→WordPressの通信を集約したファイル。
どう変わったの?
3.0になって、説明コメントが付くようになった。
Mu専用だった機能だった書きだしと読み込みのクエリーを振り分ける。
クエリーメソッドに、複数DB対応っぽい記述が追加
wp-db.phpの中の1087行目から1106行目までの部分を抜粋。
[php] // use $this->dbh for read ops, and $this->dbhwrite for write ops// use $this->dbhglobal for gloal table ops
unset( $dbh );
if( defined( ‘WP_USE_MULTIPLE_DB’ ) && WP_USE_MULTIPLE_DB ) {
if( $this->blogs != ” && preg_match(“/(” . $this->blogs . “|” . $this->users . “|” . $this->usermeta . “|” . $this->site . “|” . $this->sitemeta . “|” . $this->sitecategories . “)/i”,$query) ) {
if( false == isset( $this->dbhglobal ) ) {
$this->db_connect( $query );
}
$dbh =& $this->dbhglobal;
$this->last_db_used = “global”;
} elseif ( preg_match(“/^\\s*(alter table|create|insert|delete|update|replace) /i”,$query) ) {
if( false == isset( $this->dbhwrite ) ) {
$this->db_connect( $query );
}
$dbh =& $this->dbhwrite;
$this->last_db_used = “write”;
} else {
$dbh =& $this->dbh;
$this->last_db_used = “read”;
}
[/php]
定数WP_USE_MULTIPLE_DB の定義でDBの振り分けが可能
クエリーの振り分けパターンは3種類
- グローバルテーブル向け(マルチサイト機能利用時のみ)
- 書き込みクエリー向け
- 読み込みクエリー向け
振り分け用のDB接続は、db_connectメソッドが行う
wp-config.phpに複数DB用の設定を追加
※良い子は真似しないでくださいね♪の内容でしたw
ご利用上の注意
プラグイン導入は慎重に。
設定の最適化から。
複数の分散より、1台で済ませられる方が良いらしいです。
帰宅の途
おでこの車で皆を送りながら撮った写真
コメント