WordPressの負荷を正しく知って、リーズナブルなレンサバで効率よくWordPressサイトを運用する方法をご紹介!
レンタルサーバを落とさないお付き合いの⽅法2018/6/2さくらインターネット株式会社技術本部 ⾕⼝ 元紀(C) Copyright 1996-2016 SAKURA Internet Inc
View Slide
今⽇のお品書きレンタルサーバを落とさないで使いこなそうということで、・レンタルサーバのボトルネック・レンタルサーバにWordPressが与える負荷の種類・そんなレンタルサーバとの付き合い⽅と⾔った内容をお話させていただきます。2
⾃⼰紹介⾕⼝元紀(たにぐちげんき)3来歴2016年さくらインターネット⼊社2004年からWebディレクターとして制作会社、事業会社などで勤務さくらインターネットでのお仕事レンタルサーバSSL /ドメイン販売CDNのサービス企画等を担当
レンタルサーバのボトルネックとは?4
レンタルサーバのボトルネックとは…その前にレンタルサーバとは5
レンタルサーバのボトルネックとは1つのサーバの中に複数のお客さんが同居する共⽤サーバサービス6
レンタルサーバのボトルネックとは7さくらのナレッジ ネコでもわかる!さくらのVPS講座 〜第⼀回:VPSてなんだろう?〜より
レンタルサーバのボトルネックとは8さくらのナレッジ ネコでもわかる!さくらのVPS講座 〜第⼀回:VPSてなんだろう?〜より
レンタルサーバのボトルネックとは9さくらのナレッジ ネコでもわかる!さくらのVPS講座 〜第⼀回:VPSてなんだろう?〜より
レンタルサーバのボトルネックとは共⽤サーバは寮(Dormitory)みたいなもの。⾵呂、トイレ、寝室などなどいろんなものを共⽤するから安い。10
レンタルサーバのボトルネックとはレンタルサーバとそれ以外の違いのおさらい11・管理者権限がない・コンパネがあるので⿊い画⾯いらない・いろんなアプリがセットアップ済み・WordPressの簡単インストールができる・OS/ミドルウェアの初期設定、メンテ不要
レンタルサーバのボトルネックとは⾃由度は低いが、OSメンテ不要、⿊い画⾯不要。※最近はあとから拡張できるレンサバもあります。12
レンタルサーバのボトルネックとは⼀般的なレンタルサーバのサーバ構成を⾒てみよう13サービスサーバDBサーバエンドユーザ• ファイルの格納• PHPの実⾏• メール管理など• DBの格納• MySQLクエリの処理※DBサーバは同拠点別筐体のところが多いです。この部分はNW接続
レンタルサーバのボトルネックとはクラウドレンサバのサーバ構成を⾒てみよう14サービスサーバエンドユーザ• ファイルの格納• PHPの実⾏• メール管理など• DBの格納• MySQLクエリの処理※クラウドタイプは同筐体にDB同居。マネージドVPSみたいなイメージDBも同居してる
レンタルサーバのボトルネックとはサーバのボトルネック15CPU負荷ディスクI/Oネットワーク帯域いわゆるハードウェア的な処理の限界メモリ消費
レンタルサーバのボトルネックとはレンタルサーバではサーバ資源を1ユーザが使い切ることは基本できない16
レンタルサーバのボトルネックとはサーバ資源を100%⾷い尽くさないように制限を⼊れています。17
レンタルサーバのボトルネックとはボトルネック要因を潰す制限をいれることで共⽤ユーザが快適に。18•データ転送量制限•PHP同時実⾏数制限•過負荷プロセス⾃動停⽌•アラート発報による⼈⼒対応•クエリ実⾏制限•1VMのリソース制限(クラウド)
レンタルサーバのボトルネックとは共⽤サーバの制限19
レンタルサーバのボトルネックとはいろいろしてます20
レンタルサーバのボトルネックとは安価にサーバサービスを提供するため21
レンタルサーバのボトルネックとは制限の他に、思い出してください22
レンタルサーバのボトルネックとは23さくらのナレッジ ネコでもわかる!さくらのVPS講座 〜第⼀回:VPSてなんだろう?〜よりこいつです!
レンタルサーバのボトルネックとは同居⼈の影響を受けやすいのもレンタルサーバの特徴24
レンタルサーバのボトルネックとは制限・同居ユーザの負荷の結果WordPressが遅い⾼負荷時にサイトが重い25
レンタルサーバのボトルネックとは制限はユーザ単位やプロセス単位で⾏われる26サイトAが⼤量アクセスで⾒れない!同サーバのサイトBは⾒える※DDoS攻撃時など外部要因でのダウンを除きます。×
レンタルサーバのボトルネックとは27さくらのナレッジ ネコでもわかる!さくらのVPS講座 〜第⼀回:VPSてなんだろう?〜よりこの仮想の枠の中で好きに暴れられるのがクラウド/VPS
レンタルサーバのボトルネックとはレンサバで快適にWordPress使えないの??28
レンタルサーバのボトルネックとはそんなことないよ!29
レンタルサーバのボトルネックとはこれからちょっとブログしてみよう情報発信してみよう30
レンタルサーバのボトルネックとはという⽅には31
レンタルサーバのボトルネックとはレンタルサーバ最適です!32
レンタルサーバのボトルネックとはここまでのまとめ• 共⽤サーバは制限・負荷影響が多い• その代わり安い、メンテが楽、設定不要• 制限はユーザ単位なのでサーバが落ちているわけではない• 制限があるのはレンサバだけじゃないよ33
WordPressの与える負荷の種類34
WordPressの負荷の種類ウェブサイトがかける負荷の種類35・重い動画、画像(ネットワーク)・複雑なループ処理(CPU、DB)・バックアップ処理(CPU、DB、ネットワーク)
WordPressの負荷の種類ページが表⽰されるまでの処理の流れ36※あくまでざっくりの説明です。HTTPリクエスト PHP処理データベース処理 PHP処理 HTML出⼒サービスサーバ処理DBサーバ処理 サービスサーバ処理ネットワークネットワーク
WordPressの負荷の種類Excelでvlookupやifネストなどを多⽤すると重くなるのに似てます。37
WordPressの負荷の種類具体例38
WordPressの負荷の種類勝⼿に負荷が上がってしまう事例39
WordPressの負荷の種類ログイン画⾯への2段階認証追加プラグインを設定40
WordPressの負荷の種類41総当たり攻撃プラグイン実⾏意図せずプラグインが実⾏されて負荷が⾼まる
WordPressの負荷の種類レンサバの場合はBASIC認証が設定可能なので、低負荷に対応可能42
WordPressの負荷の種類43総当たり攻撃プラグイン実⾏されないApache
WordPressの負荷の種類ここまでのまとめ• 様々な要因でサーバへの負荷がかかる• WordPressにおいては、PHP処理とDB処理の占める割合が⼤きい• 処理の複雑化が負荷を増⼤させる44
負荷制限とのお付き合い45
46動的要素を維持しつつ⾼パフォーマンスを実現したい!
47
48札束でぶん殴るしかない!
49じゃあ全部静的ページにすればいいってことですか!?
50パフォーマンスを追求するならそうです。※これはレンサバに限らない話。
レンタルサーバのボトルネックとは⾔え……動的につかってこそのWordPressでしょ!51
お付き合いの⽅法その0PHP処理の速いサーバを借りる52お付き合いの⽅法
お付き合いの⽅法キャッシュやプラグインに頼る前に速いサーバを借りるのが⼿っ取り早い53
お付き合いの⽅法PHP処理の早いサーバを借りるメリット・デメリット54キャッシュとか⾯倒なことを気にせずに使える設定不要速いと⾔っても限界がある速いの判断が契約前につかない
お付き合いの⽅法速いの判断基準を教えてほしい55PHP7系が使えるPHPモジュールモードが使える速いと評判のところを選ぶ実際に借りてみる
お付き合いの⽅法私のWordPress遅すぎ!?と思ったら56ü PHP7を使っているか確認。ü モジュールモードが使えるかどうか確認。ü バージョン依存がなければ切り替えを検討。
お付き合いの⽅法参考データ:PHPバージョン設定割合57さくらのレンタルサーバの場合PHP ver.5.2.x 37%5.3.x 2%5.4.x 27%5.6.x 32%7.1.x 2%
お付き合いの⽅法誰も使ってない!58
お付き合いの⽅法新しいPHPを使う理由と使わない理由59WordPressは7.2系推奨パフォーマンスがいい。5.6→7.1で2倍ぐらいセキュリティ的な問題プラグインのバージョン依存検証がめんどくさい
お付き合いの⽅法ちょっとだけ宣伝60さくらはPHPモジュールモード使⽤可能下位のスタンダードでも4/18以降申し込みの⽅は利⽤可能。PHPバージョンを好きに変えられて本番影響のないステージング機能も提供中。バージョンアップ検証にどうぞ!
お付き合いの⽅法レンサバとのお付き合いの⽅法その1キャッシュを使う61
お付き合いの⽅法キャッシュの役割62キャッシュなしのPHP処理の流れこの分だけ時間が節約できる!※あくまでざっくりの説明です。HTTPリクエスト PHP処理データベース処理 PHP処理 HTML出⼒キャッシュありのPHP処理の流れHTTPリクエスト HTML出⼒キャッシュ読み込み時間の節約=負荷が減る
お付き合いの⽅法レスポンス時間が減る=負荷が減るってどういうこと?63
お付き合いの⽅法負荷の意味64重い処理をしているとき同負荷だと⾼速に処理終了※あくまでざっくりの説明です。処理能⼒を上げると…時間制限
お付き合いの⽅法負荷の意味②65同じ時間で処理できるリクエストが増える
お付き合いの⽅法WP Super Cacheのベンチマーク66WP Super Cacheなし+PHPモジュール版Request/s 59.59 314.76Time/req(ms) 503.45 95.31WP Super Cacheあり+PHPモジュール版5倍程度のパフォーマンスアップ※特定条件でのベンチマークなので参考値です。
お付き合いの⽅法キャッシュプラグインを⼊れるだけでかなり負荷耐性が向上します。67
お付き合いの⽅法レンタルサーバ側でキャッシュ機能を提供していることもあります。68
お付き合いの⽅法レンサバ推奨のキャッシュプラグインや設定69キャッシュの種類 利⽤⽅法LiteSpeed Cache サーバ側の機能をWordPressプラグインで設定。Jetboyさんやmixhostさんなどで利⽤可能。オフィシャルのキャッシュ機能エックスサーバーさんのwpXではサーバコンパネでキャッシュ設定が可能ロリポップ!さんの「コンテンツキャッシュ」もコンパネからキャッシュ設定が可能
お付き合いの⽅法サーバ側のキャッシュの⽅がプラグインのキャッシュより⾼パフォーマンス(と思われます)70※⼿元で勝⼿に他社さんのレンサバベンチした結果です。
お付き合いの⽅法キャッシュ機能のメリットとデメリット71PHP処理がスキップできるので⾼速処理プラグインの場合お⼿軽!キャッシュ時間の検討がめんどくさいキャッシュが消えないコメント投稿しても反映されないとか
お付き合いの⽅法キャッシュ機能は⼗分理解して使いましょう。72
お付き合いの⽅法余談ところで最適なキャッシュ時間教えてほしい73
お付き合いの⽅法デフォ3600秒とか87400秒が多いんですが74
お付き合いの⽅法まずは60秒ぐらいからがおすすめです。75
お付き合いの⽅法お付き合いの⽅法その2CDN(Content Delivery Network)76
お付き合いの⽅法CDNキャッシュの役割77サーバキャッシュなしのPHP処理の流れこの分だけリソースが節約できる!HTTPリクエスト PHP処理データベース処理 PHP処理 HTML出⼒サーバキャッシュありのPHP処理の流れHTTPリクエスト HTML出⼒キャッシュ読み込みCDNありのPHP処理の流れ
お付き合いの⽅法?78
お付き合いの⽅法CDNの仕組みをざっくりと79CDNがページ配信処理を肩代わり。画像やらCSS含めた全ファイルが可能CDNオリジンキャッシュ設定した時間に1回だけリクエストを処理すれば良いオリジンアクセスを限りなくゼロにできる!
お付き合いの⽅法CDNのメリット80回線がぶっとくなります!帯域や転送容量がボトルネックにはならなくなる負荷耐性は⾶躍的に向上します。(WP Super Cacheやサーバキャッシュよりも)極端な話激安レンサバで⾼負荷耐性サイトができる
お付き合いの⽅法CDNのデメリット81ほぼほぼ従量課⾦。しかも計算がややこしい。DNSも絡んで設定がややっこしい。いざとなるとキャッシュが消えない(にくい)。全ファイルキャッシュしないと意味がない。(レンサバオリジンの場合)キャッシュ由来の事故(個⼈情報の暴露)リスク
お付き合いの⽅法オリジンを低コスト運⽤し、⾼負荷時のみCDNというのは賢い運⽤⽅法です。CDNを適切に使⽤すれば、99%サイトは落ちなくなります。82※キャッシュできない情報がメインのサイトを除く
お付き合いの⽅法ちょっとだけ宣伝83さくらのクラウドサービスにおいてウェブアクセラレータという低価格CDNサービスを提供中CloudFrontの1/3のお値段になるお客様も!5円/1GiBポッキリ。リクエスト数課⾦等なし。500GiB無料利⽤枠でお試し⾃由。
お付き合いの⽅法84さくらのナレッジでレンタルサーバ×CDNの設定⽅法などを書いています。ウェブアクセラレータでWordPressを無敵化!Service Temporarily Unavailable(503)エラーを出さなくする⽅法https://knowledge.sakura.ad.jp/10937/
お付き合いの⽅法ここまでのポイント• 速いサーバ選びが基本• キャッシュプラグインいいね!お⼿軽!• サーバキャッシュも、あればお役⽴ち!• 最後の頼み、CDN。めんどいけど最強85
お付き合いの⽅法お付き合いの⽅法 番外編プラグイン、テーマの⾒直し86
プラグイン、テーマとパフォーマンスの関係87お付き合いの⽅法
お付き合いの⽅法ページが表⽰されるまでの処理の流れ88※あくまでざっくりの説明です。HTTPリクエスト PHP処理データベース処理 PHP処理 HTML出⼒サービスサーバ処理DBサーバ処理 サービスサーバ処理ネットワークネットワーク
お付き合いの⽅法設定値が増える=負荷が増える89
お付き合いの⽅法プラグインやテーマにより負荷が違います。90
お付き合いの⽅法ON/OFFでの⽐較が⼤事。91
お付き合いの⽅法プラグイン選びは慎重に。プラグインやテーマによってパフォーマンスに影響があります。※レンサバに限りません92
お付き合いの⽅法ここまでのポイント• 取り⼊れてほしい負荷視点でのプラグイン、テーマ選び• ON/OFFで⽐べてみましょう93
お付き合いの⽅法とは⾔え、便利なプラグインどうしても使いたいもの※弊社もプラグインを出してますし94
お付き合いの⽅法ホスティング事業者はPHPが快適に実⾏できる環境構築がミッション95
お付き合いの⽅法さくらインターネットでは、今後もレンサバでWordPressが快適に使えるように頑張ります。96
97さくらのナレッジ で連載もしております!
レンタルサーバのボトルネック以上となりますが、会場内でウロウロしておりますのでご質問・ご意⾒等お待ちしております。98
ご清聴ありがとうございました。99