Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
レンサバを落とさないお付き合いの方法@WordCamp大阪2018
Search
GENKI TANIGUCHI
June 02, 2018
Technology
2
700
レンサバを落とさないお付き合いの方法@WordCamp大阪2018
WordPressの負荷を正しく知って、リーズナブルなレンサバで効率よくWordPressサイトを運用する方法をご紹介!
GENKI TANIGUCHI
June 02, 2018
Tweet
Share
More Decks by GENKI TANIGUCHI
See All by GENKI TANIGUCHI
WP Zoom Up CMタイムLT-20210910 / wpzoomupcmlt20210910
gtaniguchi
0
39
WP Zoom Up CMタイムLT / wpzoomupcmlt20210513
gtaniguchi
0
53
20201022_レンサバ座談会@Lightning勉強会 / rspaneldiscussion
gtaniguchi
0
55
高コスパ高負荷耐性サイトの作り方 / mtddc-meetup-tokyo-2020-letsusecdn
gtaniguchi
0
170
さくらの夕べ コンテンツブースト機能概要/howtousecontentboost
gtaniguchi
0
12k
レンタルサーバの設定でできるWordPressの高速化 / 20190615_WebPerfomanceSeminor
gtaniguchi
0
610
今日からはじめるSSLサイト@WordCampHaneda 2019 / wordcamphaneda2019
gtaniguchi
0
160
WordPressを始めよう。サーバーのこと教えて!@WordCamp男木島2018 /tellmeabouttheserver
gtaniguchi
0
1.1k
SSL視点でのレンサバ選び@WordFes名古屋2017
gtaniguchi
0
69
Other Decks in Technology
See All in Technology
RECRUIT TECH CONFERENCE 2025 プレイベント【高橋】
recruitengineers
PRO
0
160
スタートアップ1人目QAエンジニアが QAチームを立ち上げ、“個”からチーム、 そして“組織”に成長するまで / How to set up QA team at reiwatravel
mii3king
2
1.5k
クラウドサービス事業者におけるOSS
tagomoris
2
840
CZII - CryoET Object Identification 参加振り返り・解法共有
tattaka
0
380
関東Kaggler会LT: 人狼コンペとLLM量子化について
nejumi
3
600
現場の種を事業の芽にする - エンジニア主導のイノベーションを事業戦略に装着する方法 -
kzkmaeda
2
2.1k
転生CISOサバイバル・ガイド / CISO Career Transition Survival Guide
kanny
3
1k
Tech Blogを書きやすい環境づくり
lycorptech_jp
PRO
1
240
「海外登壇」という 選択肢を与えるために 〜Gophers EX
logica0419
0
710
エンジニアのためのドキュメント力基礎講座〜構造化思考から始めよう〜(2025/02/15jbug広島#15発表資料)
yasuoyasuo
17
6.8k
リアルタイム分析データベースで実現する SQLベースのオブザーバビリティ
mikimatsumoto
0
1.4k
Data-centric AI入門第6章:Data-centric AIの実践例
x_ttyszk
1
410
Featured
See All Featured
実際に使うSQLの書き方 徹底解説 / pgcon21j-tutorial
soudai
175
51k
Done Done
chrislema
182
16k
Fireside Chat
paigeccino
34
3.2k
Performance Is Good for Brains [We Love Speed 2024]
tammyeverts
7
630
RailsConf 2023
tenderlove
29
1k
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
30
2.2k
It's Worth the Effort
3n
184
28k
How to Think Like a Performance Engineer
csswizardry
22
1.3k
Evolution of real-time – Irina Nazarova, EuRuKo, 2024
irinanazarova
6
550
[RailsConf 2023] Rails as a piece of cake
palkan
53
5.2k
Building an army of robots
kneath
303
45k
Large-scale JavaScript Application Architecture
addyosmani
511
110k
Transcript
レンタルサーバを落とさない お付き合いの⽅法 2018/6/2 さくらインターネット株式 会社 技術本部 ⾕⼝ 元紀 (C) Copyright
1996-2016 SAKURA Internet Inc
今⽇のお品書き レンタルサーバを落とさないで使いこなそう ということで、 ・レンタルサーバのボトルネック ・レンタルサーバに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も同居 してる
レンタルサーバのボトルネックとは サーバのボトルネック 15 CPU負荷 ディスク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
お付き合いの⽅法その0 PHP処理の速いサーバを借りる 52 お付き合いの⽅法
お付き合いの⽅法 キャッシュやプラグインに頼る前に 速いサーバを借りるのが⼿っ取り早い 53
お付き合いの⽅法 PHP処理の早いサーバを借りるメリット・デメリット 54 キャッシュとか⾯倒なことを気にせずに使える 設定不要 速いと⾔っても限界がある 速いの判断が契約前につかない
お付き合いの⽅法 速いの判断基準を教えてほしい 55 PHP7系が使える 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を使う理由と使わない理由 59 WordPressは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のベンチマーク 66 WP Super Cacheなし + PHPモジュール版
Request/s 59.59 314.76 Time/req(ms) 503.45 95.31 WP Super Cacheあり + PHPモジュール版 5倍程度のパフォーマンスアップ ※特定条件でのベンチマークなので参考値です。
お付き合いの⽅法 キャッシュプラグインを⼊れるだけで かなり負荷耐性が向上します。 67
お付き合いの⽅法 レンタルサーバ側で キャッシュ機能を提供している こともあります。 68
お付き合いの⽅法 レンサバ推奨のキャッシュプラグインや設定 69 キャッシュの種類 利⽤⽅法 LiteSpeed Cache サーバ側の機能をWordPressプラグインで設定。Jetboy さんやmixhostさんなどで利⽤可能。 オフィシャルの
キャッシュ機能 エックスサーバーさんのwpXではサーバコンパネで キャッシュ設定が可能 ロリポップ!さんの「コンテンツキャッシュ」もコン パネからキャッシュ設定が可能
お付き合いの⽅法 サーバ側のキャッシュの⽅が プラグインのキャッシュより ⾼パフォーマンス(と思われます) 70 ※⼿元で勝⼿に他社さんのレンサバベンチした結果です。
お付き合いの⽅法 キャッシュ機能のメリットとデメリット 71 PHP処理がスキップできるので⾼速処理 プラグインの場合お⼿軽! キャッシュ時間の検討がめんどくさい キャッシュが消えない コメント投稿しても反映されないとか
お付き合いの⽅法 キャッシュ機能は ⼗分理解して使いましょう。 72
お付き合いの⽅法 余談 ところで 最適なキャッシュ時間 教えてほしい 73
お付き合いの⽅法 デフォ3600秒とか87400秒が 多いんですが 74
お付き合いの⽅法 まずは60秒ぐらいからが おすすめです。 75
お付き合いの⽅法 お付き合いの⽅法その2 CDN(Content Delivery Network) 76
お付き合いの⽅法 CDNキャッシュの役割 77 サーバキャッシュなしのPHP処理の流れ この分だけリソースが節約できる! HTTPリクエスト PHP処理 データベース 処理 PHP処理
HTML出⼒ サーバキャッシュありのPHP処理の流れ HTTPリクエスト HTML出⼒ キャッシュ 読み込み CDNありのPHP処理の流れ
お付き合いの⽅法 ? 78
お付き合いの⽅法 CDNの仕組みをざっくりと 79 CDNがページ配信処理を肩代わり。 画像やら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