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
680
レンサバを落とさないお付き合いの方法@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
38
WP Zoom Up CMタイムLT / wpzoomupcmlt20210513
gtaniguchi
0
50
20201022_レンサバ座談会@Lightning勉強会 / rspaneldiscussion
gtaniguchi
0
52
高コスパ高負荷耐性サイトの作り方 / mtddc-meetup-tokyo-2020-letsusecdn
gtaniguchi
0
150
さくらの夕べ コンテンツブースト機能概要/howtousecontentboost
gtaniguchi
0
12k
レンタルサーバの設定でできるWordPressの高速化 / 20190615_WebPerfomanceSeminor
gtaniguchi
0
580
今日からはじめるSSLサイト@WordCampHaneda 2019 / wordcamphaneda2019
gtaniguchi
0
140
WordPressを始めよう。サーバーのこと教えて!@WordCamp男木島2018 /tellmeabouttheserver
gtaniguchi
0
1.1k
SSL視点でのレンサバ選び@WordFes名古屋2017
gtaniguchi
0
66
Other Decks in Technology
See All in Technology
【Startup CTO of the Year 2024 / Audience Award】アセンド取締役CTO 丹羽健
niwatakeru
0
990
初心者向けAWS Securityの勉強会mini Security-JAWSを9ヶ月ぐらい実施してきての近況
cmusudakeisuke
0
120
Adopting Jetpack Compose in Your Existing Project - GDG DevFest Bangkok 2024
akexorcist
0
110
ISUCONに強くなるかもしれない日々の過ごしかた/Findy ISUCON 2024-11-14
fujiwara3
8
870
OCI Vault 概要
oracle4engineer
PRO
0
9.7k
Exadata Database Service on Dedicated Infrastructure(ExaDB-D) UI スクリーン・キャプチャ集
oracle4engineer
PRO
2
3.2k
Python(PYNQ)がテーマのAMD主催のFPGAコンテストに参加してきた
iotengineer22
0
470
適材適所の技術選定 〜GraphQL・REST API・tRPC〜 / Optimal Technology Selection
kakehashi
1
400
Terraform Stacks入門 #HashiTalks
msato
0
350
データプロダクトの定義からはじめる、データコントラクト駆動なデータ基盤
chanyou0311
2
310
隣接領域をBeyondするFinatextのエンジニア組織設計 / beyond-engineering-areas
stajima
1
270
Lambdaと地方とコミュニティ
miu_crescent
2
370
Featured
See All Featured
Building Applications with DynamoDB
mza
90
6.1k
The Myth of the Modular Monolith - Day 2 Keynote - Rails World 2024
eileencodes
16
2.1k
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
126
18k
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
47
5k
Why Our Code Smells
bkeepers
PRO
334
57k
YesSQL, Process and Tooling at Scale
rocio
169
14k
Art, The Web, and Tiny UX
lynnandtonic
297
20k
Navigating Team Friction
lara
183
14k
The World Runs on Bad Software
bkeepers
PRO
65
11k
The Invisible Side of Design
smashingmag
298
50k
Raft: Consensus for Rubyists
vanstee
136
6.6k
A Modern Web Designer's Workflow
chriscoyier
693
190k
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