Upgrade to Pro — share decks privately, control downloads, hide ads and more …

レンサバを落とさないお付き合いの方法@WordCamp大阪2018

 レンサバを落とさないお付き合いの方法@WordCamp大阪2018

WordPressの負荷を正しく知って、リーズナブルなレンサバで効率よくWordPressサイトを運用する方法をご紹介!

GENKI TANIGUCHI

June 02, 2018
Tweet

More Decks by GENKI TANIGUCHI

Other Decks in Technology

Transcript

  1. レンタルサーバを落とさない
    お付き合いの⽅法
    2018/6/2
    さくらインターネット株式
    会社
    技術本部 ⾕⼝ 元紀
    (C) Copyright 1996-2016 SAKURA Internet Inc

    View Slide

  2. 今⽇のお品書き
    レンタルサーバを落とさないで使いこなそう
    ということで、
    ・レンタルサーバのボトルネック
    ・レンタルサーバにWordPressが与える負荷の種類
    ・そんなレンタルサーバとの付き合い⽅
    と⾔った内容をお話させていただきます。
    2

    View Slide

  3. ⾃⼰紹介
    ⾕⼝元紀(たにぐちげんき)
    3
    来歴
    2016年さくらインターネット⼊社
    2004年からWebディレクターとして制作
    会社、事業会社などで勤務
    さくらインターネットでのお仕事
    レンタルサーバ
    SSL /ドメイン販売
    CDN
    のサービス企画等を担当

    View Slide

  4. レンタルサーバのボトルネックとは?
    4

    View Slide

  5. レンタルサーバのボトルネックとは
    …その前にレンタルサーバとは
    5

    View Slide

  6. レンタルサーバのボトルネックとは
    1つのサーバの中に複数のお客さんが同居する
    共⽤サーバサービス
    6

    View Slide

  7. レンタルサーバのボトルネックとは
    7
    さくらのナレッジ ネコでもわかる!さくらのVPS講座 〜第⼀回:VPSてなんだろう?〜より

    View Slide

  8. レンタルサーバのボトルネックとは
    8
    さくらのナレッジ ネコでもわかる!さくらのVPS講座 〜第⼀回:VPSてなんだろう?〜より

    View Slide

  9. レンタルサーバのボトルネックとは
    9
    さくらのナレッジ ネコでもわかる!さくらのVPS講座 〜第⼀回:VPSてなんだろう?〜より

    View Slide

  10. レンタルサーバのボトルネックとは
    共⽤サーバは寮(Dormitory)みたいなもの。
    ⾵呂、トイレ、寝室などなど
    いろんなものを共⽤するから安い。
    10

    View Slide

  11. レンタルサーバのボトルネックとは
    レンタルサーバとそれ以外の違いのおさらい
    11
    ・管理者権限がない
    ・コンパネがあるので⿊い画⾯いらない
    ・いろんなアプリがセットアップ済み
    ・WordPressの簡単インストールができる
    ・OS/ミドルウェアの初期設定、メンテ不要

    View Slide

  12. レンタルサーバのボトルネックとは
    ⾃由度は低いが、OSメンテ不要、
    ⿊い画⾯不要。
    ※最近はあとから拡張できるレンサバもあります。
    12

    View Slide

  13. レンタルサーバのボトルネックとは
    ⼀般的なレンタルサーバのサーバ構成を⾒てみよう
    13
    サービスサーバ
    DBサーバ
    エンドユーザ
    • ファイルの格納
    • PHPの実⾏
    • メール管理など
    • DBの格納
    • MySQLクエリの
    処理
    ※DBサーバは同拠点別筐体のところが多いです。
    この部分は
    NW接続

    View Slide

  14. レンタルサーバのボトルネックとは
    クラウドレンサバのサーバ構成を⾒てみよう
    14
    サービスサーバ
    エンドユーザ
    • ファイルの格納
    • PHPの実⾏
    • メール管理など
    • DBの格納
    • MySQLクエリの処理
    ※クラウドタイプは同筐体にDB同居。マネージドVPSみたいなイメージ
    DBも同居
    してる

    View Slide

  15. レンタルサーバのボトルネックとは
    サーバのボトルネック
    15
    CPU負荷
    ディスクI/O
    ネットワーク帯域
    いわゆる
    ハードウェア的な
    処理の限界
    メモリ消費

    View Slide

  16. レンタルサーバのボトルネックとは
    レンタルサーバではサーバ資源を
    1ユーザが使い切ることは基本できない
    16

    View Slide

  17. レンタルサーバのボトルネックとは
    サーバ資源を100%⾷い尽くさないように
    制限を⼊れています。
    17

    View Slide

  18. レンタルサーバのボトルネックとは
    ボトルネック要因を潰す制限をいれることで共⽤ユーザが快適に。
    18
    •データ転送量制限
    •PHP同時実⾏数制限
    •過負荷プロセス⾃動停⽌
    •アラート発報による⼈⼒対応
    •クエリ実⾏制限
    •1VMのリソース制限(クラウド)

    View Slide

  19. レンタルサーバのボトルネックとは
    共⽤サーバの制限
    19

    View Slide

  20. レンタルサーバのボトルネックとは
    いろいろしてます
    20

    View Slide

  21. レンタルサーバのボトルネックとは
    安価にサーバサービスを
    提供するため
    21

    View Slide

  22. レンタルサーバのボトルネックとは
    制限の他に、
    思い出してください
    22

    View Slide

  23. レンタルサーバのボトルネックとは
    23
    さくらのナレッジ ネコでもわかる!さくらのVPS講座 〜第⼀回:VPSてなんだろう?〜より
    こいつです!

    View Slide

  24. レンタルサーバのボトルネックとは
    同居⼈の影響を受けやすい
    のも
    レンタルサーバの特徴
    24

    View Slide

  25. レンタルサーバのボトルネックとは
    制限・同居ユーザの負荷の結果
    WordPressが遅い
    ⾼負荷時にサイトが重い
    25

    View Slide

  26. レンタルサーバのボトルネックとは
    制限はユーザ単位やプロセス単位で⾏われる
    26
    サイトAが⼤量アク
    セスで⾒れない!
    同サーバの
    サイトBは⾒える
    ※DDoS攻撃時など外部要因でのダウンを除きます。
    ×

    View Slide

  27. レンタルサーバのボトルネックとは
    27
    さくらのナレッジ ネコでもわかる!さくらのVPS講座 〜第⼀回:VPSてなんだろう?〜より
    この仮想の枠の中で
    好きに暴れられるのが
    クラウド/VPS

    View Slide

  28. レンタルサーバのボトルネックとは
    レンサバで快適にWordPress
    使えないの??
    28

    View Slide

  29. レンタルサーバのボトルネックとは
    そんなことないよ!
    29

    View Slide

  30. レンタルサーバのボトルネックとは
    これからちょっとブログしてみよう
    情報発信してみよう
    30

    View Slide

  31. レンタルサーバのボトルネックとは
    という⽅には
    31

    View Slide

  32. レンタルサーバのボトルネックとは
    レンタルサーバ
    最適です!
    32

    View Slide

  33. レンタルサーバのボトルネックとは
    ここまでのまとめ
    • 共⽤サーバは制限・負荷影響が多い
    • その代わり安い、メンテが楽、設定不要
    • 制限はユーザ単位なので
    サーバが落ちているわけではない
    • 制限があるのはレンサバだけじゃないよ
    33

    View Slide

  34. WordPressの与える負荷の種類
    34

    View Slide

  35. WordPressの負荷の種類
    ウェブサイトがかける負荷の種類
    35
    ・重い動画、画像(ネットワーク)
    ・複雑なループ処理(CPU、DB)
    ・バックアップ処理(CPU、DB、ネットワーク)

    View Slide

  36. WordPressの負荷の種類
    ページが表⽰されるまでの処理の流れ
    36
    ※あくまでざっくりの説明です。
    HTTPリクエスト PHP処理
    データベース
    処理 PHP処理 HTML出⼒
    サービスサーバ
    処理
    DBサーバ処理 サービスサーバ
    処理












    View Slide

  37. WordPressの負荷の種類
    Excelでvlookupやifネスト
    などを多⽤すると
    重くなるのに
    似てます。
    37

    View Slide

  38. WordPressの負荷の種類
    具体例
    38

    View Slide

  39. WordPressの負荷の種類
    勝⼿に負荷が上がってしまう事例
    39

    View Slide

  40. WordPressの負荷の種類
    ログイン画⾯への2段階認証
    追加プラグインを設定
    40

    View Slide

  41. WordPressの負荷の種類
    41






    プラグイン
    実⾏
    意図せずプラグイン
    が実⾏されて負荷が
    ⾼まる

    View Slide

  42. WordPressの負荷の種類
    レンサバの場合はBASIC認証が
    設定可能なので、低負荷に対応可能
    42

    View Slide

  43. WordPressの負荷の種類
    43






    プラグイン実
    ⾏されない
    Apache

    View Slide

  44. WordPressの負荷の種類
    ここまでのまとめ
    • 様々な要因でサーバへの負荷がかかる
    • WordPressにおいては、
    PHP処理とDB処理の占める割合が⼤きい
    • 処理の複雑化が負荷を増⼤させる
    44

    View Slide

  45. 負荷制限とのお付き合い
    45

    View Slide

  46. 46
    動的要素を維持しつつ
    ⾼パフォーマンスを
    実現したい!

    View Slide

  47. 47

    View Slide

  48. 48
    札束でぶん殴るしかない!

    View Slide

  49. 49
    じゃあ
    全部静的ページにすれば
    いいってことですか!?

    View Slide

  50. 50
    パフォーマンスを追求するなら
    そうです。
    ※これはレンサバに限らない話。

    View Slide

  51. レンタルサーバのボトルネック
    とは⾔え……
    動的につかってこその
    WordPressでしょ!
    51

    View Slide

  52. お付き合いの⽅法その0
    PHP処理の速いサーバを借りる
    52
    お付き合いの⽅法

    View Slide

  53. お付き合いの⽅法
    キャッシュやプラグインに頼る前に
    速いサーバを借りるのが⼿っ取り早い
    53

    View Slide

  54. お付き合いの⽅法
    PHP処理の早いサーバを借りるメリット・デメリット
    54
    キャッシュとか⾯倒なことを気にせずに使える
    設定不要
    速いと⾔っても限界がある
    速いの判断が契約前につかない

    View Slide

  55. お付き合いの⽅法
    速いの判断基準を教えてほしい
    55
    PHP7系が使える
    PHPモジュールモードが使える
    速いと評判のところを選ぶ
    実際に借りてみる

    View Slide

  56. お付き合いの⽅法
    私のWordPress遅すぎ!?と思ったら
    56
    ü PHP7を使っているか確認。
    ü モジュールモードが使えるかどうか確認。
    ü バージョン依存がなければ切り替えを検討。

    View Slide

  57. お付き合いの⽅法
    参考データ:PHPバージョン設定割合
    57
    さくらのレンタルサーバの場合
    PHP ver.
    5.2.x 37%
    5.3.x 2%
    5.4.x 27%
    5.6.x 32%
    7.1.x 2%

    View Slide

  58. お付き合いの⽅法
    誰も使ってない!
    58

    View Slide

  59. お付き合いの⽅法
    新しいPHPを使う理由と使わない理由
    59
    WordPressは7.2系推奨
    パフォーマンスがいい。5.6→7.1で2倍ぐらい
    セキュリティ的な問題
    プラグインのバージョン依存
    検証がめんどくさい

    View Slide

  60. お付き合いの⽅法
    ちょっとだけ宣伝
    60
    さくらはPHPモジュールモード使⽤可能
    下位のスタンダードでも4/18以降申し込みの⽅
    は利⽤可能。
    PHPバージョンを好きに変えられて本番影響の
    ないステージング機能も提供中。バージョン
    アップ検証にどうぞ!

    View Slide

  61. お付き合いの⽅法
    レンサバとのお付き合いの⽅法その1
    キャッシュを使う
    61

    View Slide

  62. お付き合いの⽅法
    キャッシュの役割
    62
    キャッシュなしのPHP処理の流れ
    この分だけ時間が節約できる!
    ※あくまでざっくりの説明です。
    HTTPリクエスト PHP処理
    データベース
    処理 PHP処理 HTML出⼒
    キャッシュありのPHP処理の流れ
    HTTPリクエスト HTML出⼒
    キャッシュ
    読み込み
    時間の節約

    負荷が減る

    View Slide

  63. お付き合いの⽅法
    レスポンス時間が減る

    負荷が減るってどういうこと?
    63

    View Slide

  64. お付き合いの⽅法
    負荷の意味
    64
    重い処理をしているとき
    同負荷だと
    ⾼速に処理終了
    ※あくまでざっくりの説明です。
    処理能⼒を上げると…
    時間
    制限

    View Slide

  65. お付き合いの⽅法
    負荷の意味②
    65
    同じ時間で処理できるリクエストが増える

    View Slide

  66. お付き合いの⽅法
    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倍程度のパフォーマンスアップ
    ※特定条件でのベンチマークなので参考値です。

    View Slide

  67. お付き合いの⽅法
    キャッシュプラグインを⼊れるだけで
    かなり負荷耐性が向上します。
    67

    View Slide

  68. お付き合いの⽅法
    レンタルサーバ側で
    キャッシュ機能を提供している
    こともあります。
    68

    View Slide

  69. お付き合いの⽅法
    レンサバ推奨のキャッシュプラグインや設定
    69
    キャッシュの種類 利⽤⽅法
    LiteSpeed Cache サーバ側の機能をWordPressプラグインで設定。Jetboy
    さんやmixhostさんなどで利⽤可能。
    オフィシャルの
    キャッシュ機能
    エックスサーバーさんのwpXではサーバコンパネで
    キャッシュ設定が可能
    ロリポップ!さんの「コンテンツキャッシュ」もコン
    パネからキャッシュ設定が可能

    View Slide

  70. お付き合いの⽅法
    サーバ側のキャッシュの⽅が
    プラグインのキャッシュより
    ⾼パフォーマンス(と思われます)
    70
    ※⼿元で勝⼿に他社さんのレンサバベンチした結果です。

    View Slide

  71. お付き合いの⽅法
    キャッシュ機能のメリットとデメリット
    71
    PHP処理がスキップできるので⾼速処理
    プラグインの場合お⼿軽!
    キャッシュ時間の検討がめんどくさい
    キャッシュが消えない
    コメント投稿しても反映されないとか

    View Slide

  72. お付き合いの⽅法
    キャッシュ機能は
    ⼗分理解して使いましょう。
    72

    View Slide

  73. お付き合いの⽅法
    余談
    ところで
    最適なキャッシュ時間
    教えてほしい
    73

    View Slide

  74. お付き合いの⽅法
    デフォ3600秒とか87400秒が
    多いんですが
    74

    View Slide

  75. お付き合いの⽅法
    まずは60秒ぐらいからが
    おすすめです。
    75

    View Slide

  76. お付き合いの⽅法
    お付き合いの⽅法その2
    CDN(Content Delivery Network)
    76

    View Slide

  77. お付き合いの⽅法
    CDNキャッシュの役割
    77
    サーバキャッシュなしのPHP処理の流れ
    この分だけリソースが節約できる!
    HTTPリクエスト PHP処理
    データベース
    処理 PHP処理 HTML出⼒
    サーバキャッシュありのPHP処理の流れ
    HTTPリクエスト HTML出⼒
    キャッシュ
    読み込み
    CDNありのPHP処理の流れ

    View Slide

  78. お付き合いの⽅法
    ?
    78

    View Slide

  79. お付き合いの⽅法
    CDNの仕組みをざっくりと
    79
    CDNがページ配信処理を肩代わり。
    画像やらCSS含めた全ファイルが可能
    CDN
    オリジン
    キャッシュ設定した時間
    に1回だけリクエストを処
    理すれば良い
    オリジンアクセス
    を限りなく
    ゼロにできる!

    View Slide

  80. お付き合いの⽅法
    CDNのメリット
    80
    回線がぶっとくなります!
    帯域や転送容量がボトルネックにはならなくなる
    負荷耐性は⾶躍的に向上します。
    (WP Super Cacheやサーバキャッシュよりも)
    極端な話激安レンサバで⾼負荷耐性サイトができる

    View Slide

  81. お付き合いの⽅法
    CDNのデメリット
    81
    ほぼほぼ従量課⾦。しかも計算がややこしい。
    DNSも絡んで設定がややっこしい。
    いざとなるとキャッシュが消えない(にくい)。
    全ファイルキャッシュしないと意味がない。
    (レンサバオリジンの場合)
    キャッシュ由来の事故(個⼈情報の暴露)リスク

    View Slide

  82. お付き合いの⽅法
    オリジンを低コスト運⽤し、⾼負荷時のみ
    CDNというのは賢い運⽤⽅法です。
    CDNを適切に使⽤すれば、99%サイトは
    落ちなくなります。
    82
    ※キャッシュできない情報がメインのサイトを除く

    View Slide

  83. お付き合いの⽅法
    ちょっとだけ宣伝
    83
    さくらのクラウドサービスにおいてウェブアク
    セラレータという低価格CDNサービスを提供中
    CloudFrontの1/3のお値段になるお客様も!
    5円/1GiBポッキリ。リクエスト数課⾦等なし。
    500GiB無料利⽤枠でお試し⾃由。

    View Slide

  84. お付き合いの⽅法
    84
    さくらのナレッジでレンタルサーバ×CDNの設定
    ⽅法などを書いています。
    ウェブアクセラレータでWordPressを無敵化!
    Service Temporarily Unavailable(503)エラーを出
    さなくする⽅法
    https://knowledge.sakura.ad.jp/10937/

    View Slide

  85. お付き合いの⽅法
    ここまでのポイント
    • 速いサーバ選びが基本
    • キャッシュプラグインいいね!お⼿軽!
    • サーバキャッシュも、あればお役⽴ち!
    • 最後の頼み、CDN。めんどいけど最強
    85

    View Slide

  86. お付き合いの⽅法
    お付き合いの⽅法 番外編
    プラグイン、テーマの⾒直し
    86

    View Slide

  87. プラグイン、テーマ

    パフォーマンスの関係
    87
    お付き合いの⽅法

    View Slide

  88. お付き合いの⽅法
    ページが表⽰されるまでの処理の流れ
    88
    ※あくまでざっくりの説明です。
    HTTPリクエスト PHP処理
    データベース
    処理 PHP処理 HTML出⼒
    サービスサーバ
    処理
    DBサーバ処理 サービスサーバ
    処理












    View Slide

  89. お付き合いの⽅法
    設定値が増える

    負荷が増える
    89

    View Slide

  90. お付き合いの⽅法
    プラグインやテーマにより
    負荷が違います。
    90

    View Slide

  91. お付き合いの⽅法
    ON/OFFでの⽐較が
    ⼤事。
    91

    View Slide

  92. お付き合いの⽅法
    プラグイン選びは慎重に。
    プラグインやテーマによって
    パフォーマンスに影響があります。
    ※レンサバに限りません
    92

    View Slide

  93. お付き合いの⽅法
    ここまでのポイント
    • 取り⼊れてほしい負荷視点での
    プラグイン、テーマ選び
    • ON/OFFで⽐べてみましょう
    93

    View Slide

  94. お付き合いの⽅法
    とは⾔え、便利なプラグイン
    どうしても使いたいもの
    ※弊社もプラグインを出してますし
    94

    View Slide

  95. お付き合いの⽅法
    ホスティング事業者は
    PHPが快適に実⾏できる
    環境構築がミッション
    95

    View Slide

  96. お付き合いの⽅法
    さくらインターネットでは、
    今後もレンサバでWordPressが
    快適に使えるように頑張ります。
    96

    View Slide

  97. 97
    さくらのナレッジ で連載もしております!

    View Slide

  98. レンタルサーバのボトルネック
    以上となりますが、
    会場内でウロウロしておりますので
    ご質問・ご意⾒等お待ちしております。
    98

    View Slide

  99. ご清聴ありがとうございました。
    99

    View Slide