SlideShare una empresa de Scribd logo
1 de 13
Descargar para leer sin conexión
WordPressのパフォーマンス改善
∼ホスティングの状況に応じた改善手法のアレとかコレとか∼
WordPress Performance Optimization for Beginners
Komori, Masaaki: WordPress Performance Optimization for Beginners
まず、WordPressの配信の仕組みをおさらいしておきましょう
Webサーバで何が起こっているのか
• MovableTypeなどと異なり、
静的なHTMLを配信する仕組みではない
• ブラウザからのリクエストによって、
それに応じたテンプレート中のPHPが実行される
• データを格納しているデータベースへ接続
• HTMLを生成して、Webブラウザに送り返す
Komori, Masaaki: WordPress Performance Optimization for Beginners
Apache + PHP、MySQLの関係図はこんな感じになっている
その流れを図解してみると…
Komori, Masaaki: WordPress Performance Optimization for Beginners
ホスティングの環境やサイト構築の仕方次第でパフォーマンスが悪くなることも
状況次第で重くなってしまうことも・・・
• チューニングされていないホスティングだったり
• ベストエフォート型で回線自体が貧弱だったり
• マシンパワーがそもそも非力だったり
• プラグインを大量に使ってサイト構築していたり
• テンプレート設計で余計なことをしていたり
とまぁ、いろんなことが絡んで重く感じてしまう
Komori, Masaaki: WordPress Performance Optimization for Beginners
オンラインサービスやWebブラウザのプラグインで自サイトの現状を把握する
とりあえず、現状を把握してみよう
• Pagetest(www.webpagetest.org)
• Load Impact(loadimpact.com/pageanalyzer)
※同時接続数50クライアントまで負荷チェックも可能
• Firebug + YSlow!、Firebug + Page Speed
• Safari、Google ChromeのWebインスペクタ
Komori, Masaaki: WordPress Performance Optimization for Beginners
バックエンドのPHPとDBの処理なのか、フロントエンドの構造なのか
ボトルネックがどこなのかを判断する
Komori, Masaaki: WordPress Performance Optimization for Beginners
まずは、自分のホスティング環境がどういう状態か確認
パフォーマンスの改善に入る前に
1. システム管理まで可能なVPSやDelegated Server?
2. Webサーバのモジュールが比較的自由に利用できる?
3. 上の2つのいずれも不可能…
Komori, Masaaki: WordPress Performance Optimization for Beginners
環境にあわせて、できる対応策を適用していく
パフォーマンスを改善するには?
1. システム管理まで可能なVPSやDelegated Serverなら
→バックエンドのPHPやSQLの処理速度を改善してみる
2. Webサーバのモジュールが比較的自由に利用できるなら
→プラグインで静的なHTMLをキャッシュして配信する(可能ならgzip化)
3. 上の2つのいずれにも当てはまらないなら
→head要素内のコンテンツを整理(JS/CSSの結合など)
→プラグインによる画像の最適化
→その他のパフォーマンス最適化の手法の適用
Komori, Masaaki: WordPress Performance Optimization for Beginners
APCやeAccelerator、xCache、memcacheなどを導入してみる
1. PHPそのものの処理速度をあげる
• 実行されたPHPスクリプトのデータをキャッシュさせる
• 代表的なPHPアクセラレータ
→APC(Alternative PHP Cache)
→eAccelerator
→xCache
→memcache などなど
※WordPressのキャッシュプラグインとも併用可能
• インストール後、環境にあわせて設定変更
Komori, Masaaki: WordPress Performance Optimization for Beginners
mod_rewrite、mod_expire、mod_gzip(mod_deflate)が使える環境なら
2. Webサーバのモジュールが利用できる
• 「WP Super Cache」や「W3 Total Cache」の導入
→mod_rewrite、mod_expire、mod_gzip(mod_deflate)
※キャッシュしたからといってすべての環境で効果があるわけではない。
 HTMLの設計次第ではほとんど効果のないこともある
• 可能ならテキストデータをgzipで符号化しておく
→mod_gzip(mod_deflate)
※上記プラグインでも設定可能。転送データ量が約1/3∼1/2に減少
• ついでに画像やJavaScript、CSSなどに有効期限を設定
→mod_expire
Komori, Masaaki: WordPress Performance Optimization for Beginners
書き出されるHTMLのhead要素内を最適化したり、テンプレートを改善する
3. ここまでの方法が採れない場合
• 使っているプラグインの数を減らしてみる
→場合によっては、それがパフォーマンス低下の原因かも
• HTMLのhead要素内を見直してみよう
→JavaScriptやCSSの結合、Minify化、挿入場所の変更
→head cleanerプラグインなどの導入の検討
• サイト内で使用する画像を最適化してみよう
→WP Smush.itプラグインの導入
• その他の表示パフォーマンスの最適化手法の導入
→画像の配信ホストを分割するなど
Komori, Masaaki: WordPress Performance Optimization for Beginners
なんでもかんでもプラグインで解決できるわけではなく…
というわけで、まとめると
• まずは、現状をしっかり把握
• 何でもできるなら、PHPの処理速度を改善してみる
• モジュールが使えるなら、静的なHTMLを配信する
• いずれも無理なら、HTMLの構造変更や画像最適化
できることから始めましょう
Komori, Masaaki: WordPress Performance Optimization for Beginners
作り手の都合だけでなく、見る人に優しいサイト作りを
ありがとうございました

Más contenido relacionado

La actualidad más candente

2012/5/19 Webのパフォーマンスを考える ~WordPressと付き合うために~ @ WB Osaka
2012/5/19 Webのパフォーマンスを考える ~WordPressと付き合うために~ @ WB Osaka2012/5/19 Webのパフォーマンスを考える ~WordPressと付き合うために~ @ WB Osaka
2012/5/19 Webのパフォーマンスを考える ~WordPressと付き合うために~ @ WB Osaka
tama200x Kobayashi
 
Csawわーくしょっぷ(仮)
Csawわーくしょっぷ(仮)Csawわーくしょっぷ(仮)
Csawわーくしょっぷ(仮)
Takamasa Maeda
 
WordCampOsaka2012セッション資料
WordCampOsaka2012セッション資料WordCampOsaka2012セッション資料
WordCampOsaka2012セッション資料
horike37
 
初心者向け負荷軽減のはなし
初心者向け負荷軽減のはなし初心者向け負荷軽減のはなし
初心者向け負荷軽減のはなし
Oonishi Takaaki
 

La actualidad más candente (18)

Web Site Optimization for Beginners
Web Site Optimization for BeginnersWeb Site Optimization for Beginners
Web Site Optimization for Beginners
 
2012/5/19 Webのパフォーマンスを考える ~WordPressと付き合うために~ @ WB Osaka
2012/5/19 Webのパフォーマンスを考える ~WordPressと付き合うために~ @ WB Osaka2012/5/19 Webのパフォーマンスを考える ~WordPressと付き合うために~ @ WB Osaka
2012/5/19 Webのパフォーマンスを考える ~WordPressと付き合うために~ @ WB Osaka
 
20121112 jaws-ug sapporo8
20121112 jaws-ug sapporo820121112 jaws-ug sapporo8
20121112 jaws-ug sapporo8
 
マルチサイトの構築
マルチサイトの構築マルチサイトの構築
マルチサイトの構築
 
Csawわーくしょっぷ(仮)
Csawわーくしょっぷ(仮)Csawわーくしょっぷ(仮)
Csawわーくしょっぷ(仮)
 
Web体験を向上させるcdnと表示速度の重要性
Web体験を向上させるcdnと表示速度の重要性Web体験を向上させるcdnと表示速度の重要性
Web体験を向上させるcdnと表示速度の重要性
 
VCCW + Wordmove でデプロイが劇的に簡単になった話
VCCW + Wordmove でデプロイが劇的に簡単になった話VCCW + Wordmove でデプロイが劇的に簡単になった話
VCCW + Wordmove でデプロイが劇的に簡単になった話
 
サーバーのおしごと
サーバーのおしごとサーバーのおしごと
サーバーのおしごと
 
PWA for beginner#2
PWA for beginner#2PWA for beginner#2
PWA for beginner#2
 
WordCampOsaka2012セッション資料
WordCampOsaka2012セッション資料WordCampOsaka2012セッション資料
WordCampOsaka2012セッション資料
 
Honjo Seminar 6.10
Honjo Seminar 6.10Honjo Seminar 6.10
Honjo Seminar 6.10
 
PHPで大規模ブラウザゲームを開発してわかったこと
PHPで大規模ブラウザゲームを開発してわかったことPHPで大規模ブラウザゲームを開発してわかったこと
PHPで大規模ブラウザゲームを開発してわかったこと
 
信頼性が高くハイパフォーマンスなテーマ開発テクニックでライバルに差をつけろ!
信頼性が高くハイパフォーマンスなテーマ開発テクニックでライバルに差をつけろ!信頼性が高くハイパフォーマンスなテーマ開発テクニックでライバルに差をつけろ!
信頼性が高くハイパフォーマンスなテーマ開発テクニックでライバルに差をつけろ!
 
初心者向け負荷軽減のはなし
初心者向け負荷軽減のはなし初心者向け負荷軽減のはなし
初心者向け負荷軽減のはなし
 
Post by email for pulse cms
Post by email for pulse cmsPost by email for pulse cms
Post by email for pulse cms
 
Google AMP (Accelerated Mobile Pages) を纏めてみた
Google AMP (Accelerated Mobile Pages) を纏めてみたGoogle AMP (Accelerated Mobile Pages) を纏めてみた
Google AMP (Accelerated Mobile Pages) を纏めてみた
 
子テーマを使ったサイト制作
子テーマを使ったサイト制作子テーマを使ったサイト制作
子テーマを使ったサイト制作
 
ノンプログラマーのためのWordPressプラグイン開発超入門v1.0
ノンプログラマーのためのWordPressプラグイン開発超入門v1.0ノンプログラマーのためのWordPressプラグイン開発超入門v1.0
ノンプログラマーのためのWordPressプラグイン開発超入門v1.0
 

Destacado

CSS Nite Vol.39 - komori -
CSS Nite Vol.39 - komori -CSS Nite Vol.39 - komori -
CSS Nite Vol.39 - komori -
masaaki komori
 
[Slide]闇アジャイラーvs光アジャイラーforDevLOVE(EnergizedWorkLT祭)
[Slide]闇アジャイラーvs光アジャイラーforDevLOVE(EnergizedWorkLT祭)[Slide]闇アジャイラーvs光アジャイラーforDevLOVE(EnergizedWorkLT祭)
[Slide]闇アジャイラーvs光アジャイラーforDevLOVE(EnergizedWorkLT祭)
masashi takehara
 

Destacado (9)

CSS Nite Vol.39 - komori -
CSS Nite Vol.39 - komori -CSS Nite Vol.39 - komori -
CSS Nite Vol.39 - komori -
 
アジャイル開発の現在・過去・未来~今を知り、源流を訪ね、先を見据える~
アジャイル開発の現在・過去・未来~今を知り、源流を訪ね、先を見据える~アジャイル開発の現在・過去・未来~今を知り、源流を訪ね、先を見据える~
アジャイル開発の現在・過去・未来~今を知り、源流を訪ね、先を見据える~
 
レスポンシブ・ウェブデザイン基礎
レスポンシブ・ウェブデザイン基礎レスポンシブ・ウェブデザイン基礎
レスポンシブ・ウェブデザイン基礎
 
未来のデザイナー論 -変化するデザイン環境と、デザイナーに求められる変化-
未来のデザイナー論 -変化するデザイン環境と、デザイナーに求められる変化-未来のデザイナー論 -変化するデザイン環境と、デザイナーに求められる変化-
未来のデザイナー論 -変化するデザイン環境と、デザイナーに求められる変化-
 
UXのためのUIデザイン
UXのためのUIデザインUXのためのUIデザイン
UXのためのUIデザイン
 
[Slide]闇アジャイラーvs光アジャイラーforDevLOVE(EnergizedWorkLT祭)
[Slide]闇アジャイラーvs光アジャイラーforDevLOVE(EnergizedWorkLT祭)[Slide]闇アジャイラーvs光アジャイラーforDevLOVE(EnergizedWorkLT祭)
[Slide]闇アジャイラーvs光アジャイラーforDevLOVE(EnergizedWorkLT祭)
 
デザインのためのデザイン
デザインのためのデザインデザインのためのデザイン
デザインのためのデザイン
 
見やすいプレゼン資料の作り方 - リニューアル増量版
見やすいプレゼン資料の作り方 - リニューアル増量版見やすいプレゼン資料の作り方 - リニューアル増量版
見やすいプレゼン資料の作り方 - リニューアル増量版
 
TEDx Manchester: AI & The Future of Work
TEDx Manchester: AI & The Future of WorkTEDx Manchester: AI & The Future of Work
TEDx Manchester: AI & The Future of Work
 

Similar a WP Performance Optimization

WordPressってブログじゃないの?
WordPressってブログじゃないの?WordPressってブログじゃないの?
WordPressってブログじゃないの?
tokumotonahoko
 
体験してみようWordPress.com
体験してみようWordPress.com体験してみようWordPress.com
体験してみようWordPress.com
Yusuke Hayasaki
 
「コーポレートサイトにちょうどいい」CakePHPベースの国産CMS「baserCMS」 - ここがちょうどいい機能(OSC2015大分)
「コーポレートサイトにちょうどいい」CakePHPベースの国産CMS「baserCMS」 - ここがちょうどいい機能(OSC2015大分)「コーポレートサイトにちょうどいい」CakePHPベースの国産CMS「baserCMS」 - ここがちょうどいい機能(OSC2015大分)
「コーポレートサイトにちょうどいい」CakePHPベースの国産CMS「baserCMS」 - ここがちょうどいい機能(OSC2015大分)
Takayuki Gondoh
 
20150718 a-blog cms × baserCMSのご紹介
20150718 a-blog cms × baserCMSのご紹介20150718 a-blog cms × baserCMSのご紹介
20150718 a-blog cms × baserCMSのご紹介
Daisuke Abe
 
ゆるべん Webアプリ開発概要 20130127
ゆるべん Webアプリ開発概要 20130127ゆるべん Webアプリ開発概要 20130127
ゆるべん Webアプリ開発概要 20130127
Y
 
WTM52 あなたの作ったWEBサイト、生きてますか?
WTM52 あなたの作ったWEBサイト、生きてますか?WTM52 あなたの作ったWEBサイト、生きてますか?
WTM52 あなたの作ったWEBサイト、生きてますか?
Masanori Oobayashi
 

Similar a WP Performance Optimization (20)

WordPressってブログじゃないの?
WordPressってブログじゃないの?WordPressってブログじゃないの?
WordPressってブログじゃないの?
 
体験してみようWordPress.com
体験してみようWordPress.com体験してみようWordPress.com
体験してみようWordPress.com
 
Xamppでお手軽cms開発環境を手に入れる
Xamppでお手軽cms開発環境を手に入れるXamppでお手軽cms開発環境を手に入れる
Xamppでお手軽cms開発環境を手に入れる
 
第一回スライド
第一回スライド第一回スライド
第一回スライド
 
WordPressのオススメスライドとか記事とか集めました。(2012.10.13 WordBench神戸)
WordPressのオススメスライドとか記事とか集めました。(2012.10.13 WordBench神戸)WordPressのオススメスライドとか記事とか集めました。(2012.10.13 WordBench神戸)
WordPressのオススメスライドとか記事とか集めました。(2012.10.13 WordBench神戸)
 
FMCakeMixってウマイの?(2012年12月改訂版)
FMCakeMixってウマイの?(2012年12月改訂版)FMCakeMixってウマイの?(2012年12月改訂版)
FMCakeMixってウマイの?(2012年12月改訂版)
 
WordPress 高速化 Pro Tips: フロントエンドの最適化
WordPress 高速化 Pro Tips: フロントエンドの最適化WordPress 高速化 Pro Tips: フロントエンドの最適化
WordPress 高速化 Pro Tips: フロントエンドの最適化
 
「コーポレートサイトにちょうどいい」CakePHPベースの国産CMS「baserCMS」 - ここがちょうどいい機能(OSC2015大分)
「コーポレートサイトにちょうどいい」CakePHPベースの国産CMS「baserCMS」 - ここがちょうどいい機能(OSC2015大分)「コーポレートサイトにちょうどいい」CakePHPベースの国産CMS「baserCMS」 - ここがちょうどいい機能(OSC2015大分)
「コーポレートサイトにちょうどいい」CakePHPベースの国産CMS「baserCMS」 - ここがちょうどいい機能(OSC2015大分)
 
Word press初心者が 基本アーキテクチャを ざっくりと学ぶ
Word press初心者が 基本アーキテクチャを ざっくりと学ぶWord press初心者が 基本アーキテクチャを ざっくりと学ぶ
Word press初心者が 基本アーキテクチャを ざっくりと学ぶ
 
WP-CLIとWordPress公式ディレクトリを活用した爆速サイト構築術 ーインストールからデザイン、ページ作成までを10分でー
WP-CLIとWordPress公式ディレクトリを活用した爆速サイト構築術 ーインストールからデザイン、ページ作成までを10分でーWP-CLIとWordPress公式ディレクトリを活用した爆速サイト構築術 ーインストールからデザイン、ページ作成までを10分でー
WP-CLIとWordPress公式ディレクトリを活用した爆速サイト構築術 ーインストールからデザイン、ページ作成までを10分でー
 
Albatross
AlbatrossAlbatross
Albatross
 
WordCamp Yokohama 2010 Komori
WordCamp Yokohama 2010 KomoriWordCamp Yokohama 2010 Komori
WordCamp Yokohama 2010 Komori
 
検索エンジンを有効利用するWEBサイト構築
検索エンジンを有効利用するWEBサイト構築検索エンジンを有効利用するWEBサイト構築
検索エンジンを有効利用するWEBサイト構築
 
20150718 a-blog cms × baserCMSのご紹介
20150718 a-blog cms × baserCMSのご紹介20150718 a-blog cms × baserCMSのご紹介
20150718 a-blog cms × baserCMSのご紹介
 
JAWS FESTA Tohoku 2014 WordPressとAWSの素敵な関係
JAWS FESTA Tohoku 2014 WordPressとAWSの素敵な関係JAWS FESTA Tohoku 2014 WordPressとAWSの素敵な関係
JAWS FESTA Tohoku 2014 WordPressとAWSの素敵な関係
 
WordPress中級者への道!テンプレートタグはどう動くのか!?
WordPress中級者への道!テンプレートタグはどう動くのか!?WordPress中級者への道!テンプレートタグはどう動くのか!?
WordPress中級者への道!テンプレートタグはどう動くのか!?
 
ゆるべん Webアプリ開発概要 20130127
ゆるべん Webアプリ開発概要 20130127ゆるべん Webアプリ開発概要 20130127
ゆるべん Webアプリ開発概要 20130127
 
WordPressって何
WordPressって何WordPressって何
WordPressって何
 
WordPress.comを使って個人ブログを作ってみよう!
WordPress.comを使って個人ブログを作ってみよう!WordPress.comを使って個人ブログを作ってみよう!
WordPress.comを使って個人ブログを作ってみよう!
 
WTM52 あなたの作ったWEBサイト、生きてますか?
WTM52 あなたの作ったWEBサイト、生きてますか?WTM52 あなたの作ったWEBサイト、生きてますか?
WTM52 あなたの作ったWEBサイト、生きてますか?
 

Más de masaaki komori

Más de masaaki komori (20)

コアなエンジニアじゃなくてもできるよ #JP_Stripes Vol.3
コアなエンジニアじゃなくてもできるよ #JP_Stripes Vol.3コアなエンジニアじゃなくてもできるよ #JP_Stripes Vol.3
コアなエンジニアじゃなくてもできるよ #JP_Stripes Vol.3
 
InstaVR使ってみた
InstaVR使ってみたInstaVR使ってみた
InstaVR使ってみた
 
Framerで始めるプロトタイプコーディング
Framerで始めるプロトタイプコーディングFramerで始めるプロトタイプコーディング
Framerで始めるプロトタイプコーディング
 
Prototyping with Sketch
Prototyping with SketchPrototyping with Sketch
Prototyping with Sketch
 
プロトタイピングツール戦国時代
プロトタイピングツール戦国時代プロトタイピングツール戦国時代
プロトタイピングツール戦国時代
 
Bootstrapではじめる、
Webサイト設計のモダンアプローチ
Bootstrapではじめる、
Webサイト設計のモダンアプローチBootstrapではじめる、
Webサイト設計のモダンアプローチ
Bootstrapではじめる、
Webサイト設計のモダンアプローチ
 
レスポンシブEメールを作ろう
レスポンシブEメールを作ろうレスポンシブEメールを作ろう
レスポンシブEメールを作ろう
 
Bootstrapはこう使う
Bootstrapはこう使うBootstrapはこう使う
Bootstrapはこう使う
 
デバイス多様化の時代のWeb制作
デバイス多様化の時代のWeb制作デバイス多様化の時代のWeb制作
デバイス多様化の時代のWeb制作
 
2015年のWebサイトの作り方 at 67ws
2015年のWebサイトの作り方 at 67ws2015年のWebサイトの作り方 at 67ws
2015年のWebサイトの作り方 at 67ws
 
Webデザインと開発の未来
Webデザインと開発の未来Webデザインと開発の未来
Webデザインと開発の未来
 
Framerで動くモックアップを簡単作成
Framerで動くモックアップを簡単作成Framerで動くモックアップを簡単作成
Framerで動くモックアップを簡単作成
 
Sketch 3 Basics at kkmsz
Sketch 3 Basics at kkmszSketch 3 Basics at kkmsz
Sketch 3 Basics at kkmsz
 
Re:Cre Vol.14 | Web design process for the future
Re:Cre Vol.14 | Web design process for the futureRe:Cre Vol.14 | Web design process for the future
Re:Cre Vol.14 | Web design process for the future
 
Web Design Process for The Future
Web Design Process for The FutureWeb Design Process for The Future
Web Design Process for The Future
 
Web Design Process for The Future
Web Design Process for The FutureWeb Design Process for The Future
Web Design Process for The Future
 
groundwork-pasona-tech
groundwork-pasona-techgroundwork-pasona-tech
groundwork-pasona-tech
 
インブラウザ勉強会 Vol.1
インブラウザ勉強会 Vol.1インブラウザ勉強会 Vol.1
インブラウザ勉強会 Vol.1
 
設計から実装まで、今すぐ始める高速化
設計から実装まで、今すぐ始める高速化設計から実装まで、今すぐ始める高速化
設計から実装まで、今すぐ始める高速化
 
Sublime Text 2 Basics
Sublime Text 2 BasicsSublime Text 2 Basics
Sublime Text 2 Basics
 

Último

Último (12)

LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアルLoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
 
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
 
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
 
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
 
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
 
新人研修 後半 2024/04/26の勉強会で発表されたものです。
新人研修 後半        2024/04/26の勉強会で発表されたものです。新人研修 後半        2024/04/26の勉強会で発表されたものです。
新人研修 後半 2024/04/26の勉強会で発表されたものです。
 
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
 
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
 
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
 
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
 
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
LoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイスLoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイス
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
 
Utilizing Ballerina for Cloud Native Integrations
Utilizing Ballerina for Cloud Native IntegrationsUtilizing Ballerina for Cloud Native Integrations
Utilizing Ballerina for Cloud Native Integrations
 

WP Performance Optimization

  • 2. Komori, Masaaki: WordPress Performance Optimization for Beginners まず、WordPressの配信の仕組みをおさらいしておきましょう Webサーバで何が起こっているのか • MovableTypeなどと異なり、 静的なHTMLを配信する仕組みではない • ブラウザからのリクエストによって、 それに応じたテンプレート中のPHPが実行される • データを格納しているデータベースへ接続 • HTMLを生成して、Webブラウザに送り返す
  • 3. Komori, Masaaki: WordPress Performance Optimization for Beginners Apache + PHP、MySQLの関係図はこんな感じになっている その流れを図解してみると…
  • 4. Komori, Masaaki: WordPress Performance Optimization for Beginners ホスティングの環境やサイト構築の仕方次第でパフォーマンスが悪くなることも 状況次第で重くなってしまうことも・・・ • チューニングされていないホスティングだったり • ベストエフォート型で回線自体が貧弱だったり • マシンパワーがそもそも非力だったり • プラグインを大量に使ってサイト構築していたり • テンプレート設計で余計なことをしていたり とまぁ、いろんなことが絡んで重く感じてしまう
  • 5. Komori, Masaaki: WordPress Performance Optimization for Beginners オンラインサービスやWebブラウザのプラグインで自サイトの現状を把握する とりあえず、現状を把握してみよう • Pagetest(www.webpagetest.org) • Load Impact(loadimpact.com/pageanalyzer) ※同時接続数50クライアントまで負荷チェックも可能 • Firebug + YSlow!、Firebug + Page Speed • Safari、Google ChromeのWebインスペクタ
  • 6. Komori, Masaaki: WordPress Performance Optimization for Beginners バックエンドのPHPとDBの処理なのか、フロントエンドの構造なのか ボトルネックがどこなのかを判断する
  • 7. Komori, Masaaki: WordPress Performance Optimization for Beginners まずは、自分のホスティング環境がどういう状態か確認 パフォーマンスの改善に入る前に 1. システム管理まで可能なVPSやDelegated Server? 2. Webサーバのモジュールが比較的自由に利用できる? 3. 上の2つのいずれも不可能…
  • 8. Komori, Masaaki: WordPress Performance Optimization for Beginners 環境にあわせて、できる対応策を適用していく パフォーマンスを改善するには? 1. システム管理まで可能なVPSやDelegated Serverなら →バックエンドのPHPやSQLの処理速度を改善してみる 2. Webサーバのモジュールが比較的自由に利用できるなら →プラグインで静的なHTMLをキャッシュして配信する(可能ならgzip化) 3. 上の2つのいずれにも当てはまらないなら →head要素内のコンテンツを整理(JS/CSSの結合など) →プラグインによる画像の最適化 →その他のパフォーマンス最適化の手法の適用
  • 9. Komori, Masaaki: WordPress Performance Optimization for Beginners APCやeAccelerator、xCache、memcacheなどを導入してみる 1. PHPそのものの処理速度をあげる • 実行されたPHPスクリプトのデータをキャッシュさせる • 代表的なPHPアクセラレータ →APC(Alternative PHP Cache) →eAccelerator →xCache →memcache などなど ※WordPressのキャッシュプラグインとも併用可能 • インストール後、環境にあわせて設定変更
  • 10. Komori, Masaaki: WordPress Performance Optimization for Beginners mod_rewrite、mod_expire、mod_gzip(mod_deflate)が使える環境なら 2. Webサーバのモジュールが利用できる • 「WP Super Cache」や「W3 Total Cache」の導入 →mod_rewrite、mod_expire、mod_gzip(mod_deflate) ※キャッシュしたからといってすべての環境で効果があるわけではない。  HTMLの設計次第ではほとんど効果のないこともある • 可能ならテキストデータをgzipで符号化しておく →mod_gzip(mod_deflate) ※上記プラグインでも設定可能。転送データ量が約1/3∼1/2に減少 • ついでに画像やJavaScript、CSSなどに有効期限を設定 →mod_expire
  • 11. Komori, Masaaki: WordPress Performance Optimization for Beginners 書き出されるHTMLのhead要素内を最適化したり、テンプレートを改善する 3. ここまでの方法が採れない場合 • 使っているプラグインの数を減らしてみる →場合によっては、それがパフォーマンス低下の原因かも • HTMLのhead要素内を見直してみよう →JavaScriptやCSSの結合、Minify化、挿入場所の変更 →head cleanerプラグインなどの導入の検討 • サイト内で使用する画像を最適化してみよう →WP Smush.itプラグインの導入 • その他の表示パフォーマンスの最適化手法の導入 →画像の配信ホストを分割するなど
  • 12. Komori, Masaaki: WordPress Performance Optimization for Beginners なんでもかんでもプラグインで解決できるわけではなく… というわけで、まとめると • まずは、現状をしっかり把握 • 何でもできるなら、PHPの処理速度を改善してみる • モジュールが使えるなら、静的なHTMLを配信する • いずれも無理なら、HTMLの構造変更や画像最適化 できることから始めましょう
  • 13. Komori, Masaaki: WordPress Performance Optimization for Beginners 作り手の都合だけでなく、見る人に優しいサイト作りを ありがとうございました