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
WordBench_Niigata1007
Search
Kenji Kojima
October 10, 2017
Technology
0
79
WordBench_Niigata1007
10/7のWordBench新潟でお話しした内容です。
Kenji Kojima
October 10, 2017
Tweet
Share
More Decks by Kenji Kojima
See All by Kenji Kojima
WordBench山口0407
kenjikojima
1
260
WordBench_Toyama0126
kenjikojima
0
79
WordBench_Gifu1202
kenjikojima
1
1.1k
WordBench_Niigata10072
kenjikojima
0
91
MT Tokyo 20170930
kenjikojima
0
340
CS Beer Bash Osaka Vol.2
kenjikojima
0
1.5k
2017/2/12WordBench奈良
kenjikojima
3
570
20170211WordBench大阪
kenjikojima
0
310
第3回WordBench 山口
kenjikojima
1
770
Other Decks in Technology
See All in Technology
Lambda10周年!Lambdaは何をもたらしたか
smt7174
2
110
OCI Security サービス 概要
oracle4engineer
PRO
0
6.5k
IBC 2024 動画技術関連レポート / IBC 2024 Report
cyberagentdevelopers
PRO
1
110
[CV勉強会@関東 ECCV2024 読み会] オンラインマッピング x トラッキング MapTracker: Tracking with Strided Memory Fusion for Consistent Vector HD Mapping (Chen+, ECCV24)
abemii
0
230
TypeScriptの次なる大進化なるか!? 条件型を返り値とする関数の型推論
uhyo
2
1.7k
OS 標準のデザインシステムを超えて - より柔軟な Flutter テーマ管理 | FlutterKaigi 2024
ronnnnn
0
240
『Firebase Dynamic Links終了に備える』 FlutterアプリでのAdjust導入とDeeplink最適化
techiro
0
130
Adopting Jetpack Compose in Your Existing Project - GDG DevFest Bangkok 2024
akexorcist
0
110
Making your applications cross-environment - OSCG 2024 NA
salaboy
0
190
Why App Signing Matters for Your Android Apps - Android Bangkok Conference 2024
akexorcist
0
130
Zennのパフォーマンスモニタリングでやっていること
ryosukeigarashi
0
160
安心してください、日本語使えますよ―Ubuntu日本語Remix提供休止に寄せて― 2024-11-17
nobutomurata
1
1k
Featured
See All Featured
Being A Developer After 40
akosma
87
590k
Making Projects Easy
brettharned
115
5.9k
KATA
mclloyd
29
14k
Side Projects
sachag
452
42k
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
28
2k
Raft: Consensus for Rubyists
vanstee
136
6.6k
Fontdeck: Realign not Redesign
paulrobertlloyd
82
5.2k
YesSQL, Process and Tooling at Scale
rocio
169
14k
Optimizing for Happiness
mojombo
376
70k
Thoughts on Productivity
jonyablonski
67
4.3k
Statistics for Hackers
jakevdp
796
220k
Writing Fast Ruby
sferik
627
61k
Transcript
WordPress+CDNでドはまりした話 2017年10月7日 小島健司 WordBench新潟
自 己 紹 介 小 島 健 司 Twitter https://twitter.com/nu_nrgist
Facebook https://www.facebook.com/kenji.kojima.96 ファーストサーバで2001年くらいから働いています。 CMS コミュニティ: WordCamp Kansai 実行委員 WordBench 大阪 モデレーターの一員
社名 ファーストサーバ株式会社 FirstServer, Inc. 所在地 大阪市中央区安土町1丁目8番15号 野村不動産大阪ビル3F 事業開始 1996年7月 資本金
3億6,357万円 主要株主 ヤフー株式会社 事業内容 レンタルサーバーサービス ドメイン名登録サービス クラウドサービス 会 社 紹 介
クラウド型レンタルサーバーZenlogic
メモリやCPUなどをデータ移行なしに サーバーリソースを強化できる
0 100 200 300 400 500 600 700 800 900
1000 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 0 50 100 150 200 250 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 ずっとアクセスが多いのか 一時だけすごく多いのか
今日の内容 前半:急なアクセス増の事例と レンサバでの対処 後半:WordPress+CDNでドはまりした話
急激に増えるアクセスの事例
http://fusenucyu.com/ 風船で宇宙撮影している方のサイト
2015/10/18放送 「情熱大陸」砲!!
サーバリソースUP サーバ台数追加 CDN アクセスが増えた時の対処例
サーバリソースUP メモリやCPUを増やすとか 専用サーバにするとか アクセスが増えた時の対処例
サーバ台数追加 • 同じコンテンツのサーバを用意して 振り分け DNSラウンドロビン ロードバランサー →データの同期のしくみを検討する
CDN コンテンツデリバリネットワーク (content delivery network) 全国に設置されたサーバから キャッシュで配信 1台
CDN 元々のサーバー 最初のアクセスは 元サーバで返す &キャッシュ保持 次からはCDNで キャッシュで返す
「情熱砲」にはこんな装備で • リソースの追加 • 諸事情で 画像のみCDN配信
お詫び・経緯の説明など炎上系で アクセスが増えた時 数日前から 準備できるものではない ケース
さすがに事例は・・・
ノーガード戦法 コンテンツを軽く お詫び・経緯の説明などで アクセスが増えたケース対処例 対応を検討する • 嵐が過ぎるのを待てば 大丈夫なケース
• サイトが見れなくて 更に炎上するリスクも検討
イベント・お祭り系サイト
イベント・お祭り系 横浜開港祭 中津川 THE SOLAR BUDOKAN 2015 世界コスプレサミット
イベント・お祭り系 • アクセスは多いが突発的なのは あまりない ※トラブル、出演者などによる • 当日は参加者のスケジュール確認が多い →当日の様子などはSNSや動画サイトに 分散される •
イベント前後以外は極端にアクセス減 イベント前にリソースUP+CDNがいい感じ
バズり系
俺の嫁がかわいい
まずはSNSから
ノーガードだとこうなります
Y!砲も
ラジオも侮れない!
高アクセス対策の費用など • レンタルサーバでリソースUP、コースUP • 複数台 →だいたいネットワーク転送量は無料 突発的アクセスにあわせると 普段はオーバースペック • CDN
→転送量課金 =ずっと使っているとレンサバで不要な 転送量も必要になる。 逆に準備したけどアクセス無ければかからない。
もしもバズったらどうするか考えておく 費用も検討 事前の相談、準備は大切 突発でどうしようもない時は コンテンツを極力軽く! 相談できるところをもっておく
イイ感じにアクセスさばいてくれるCDN
いろいろなサービスがあります
JETPACKにあるPhoton
CDN 元々のサーバー 最初のアクセスは 元サーバで返す &キャッシュ保持 次からはCDNで キャッシュで返す
CDN導入ステップ サービスを申込む 設定する オリジンサーバやキャッシュ時間などの設定 DNS設定 cnameでCDNに向ける
CDN導入ステップ サービスを申込む 設定する オリジンサーバやキャッシュ時間などの設定 DNS設定 cnameでCDNに向ける 静的ページでやったこと
あったので、WordPressでも すんなりできると思ってたが
DNSでハマる ハマりポイント①
cname www.example.jp cname cdn.hoge.example.com CDNサービスに 向ける
www.example.jpでなくて example.jpで正規化しています。
Zone Apex (Naked Domain) ホスト名無し example.jp のこと
RFC1912 CNAMEレコードは他のデータと共存できない A CNAME record is not allowed to coexist
with any other data
Aliasレコードなるサービスがあった!!
Dozens https://dozens.jp/ 1,000円/月のプランから Aliasレコードが使える
ゲヒルン https://www.gehirn.jp/ 1日2円/1ゾーンあたり
その他のDNSサービス • Route53 AWSのインスタンスのみ可 • CloudFlare 無料CDNサービスの会社
ハマりポイント② キャッシュされない・・・
Cache-Controll: no-cache, max-age=0
キャッシュされてるような されてないような・・・ ハマりポイント③
プラグインMulti Device Switcher https://ja.wordpress.org/plugins/multi-device-switcher/
「URL」に対してキャッシュデータを管理 ↓ 「URL + User-Agent」に対してキャッシュ データを管理 Vary: User Agent
Mozilla/5.0 (Linux; U; Android 4.0.1; ja-jp; Galaxy Nexus Build/ITL41D) AppleWebKit/534.30
(KHTML, like Gecko) Version/4.0 Mobile Safari/534.30 Mozilla/5.0 (Linux; U; Android 4.0.3; ja-jp; URBANO PROGRESSO Build/010.0.3000) AppleWebKit/534.30 (KHTML, like Gecko) Version/4.0 Mobile Safari/534.30 Mozilla/5.0 (Linux; U; Android 4.0.3; ja-jp; Sony Tablet S Build/TISU0R0110) AppleWebKit/534.30 (KHTML, like Gecko) Version/4.0 Safari/534.30 Mozilla/5.0 (Linux; U; Android 4.0.4; ja-jp; SC-06D Build/IMM76D) AppleWebKit/534.30 (KHTML, like Gecko) Version/4.0 Mobile Safari/534.30 Mozilla/5.0 (Linux; U; Android 4.1.1; ja-jp; Galaxy Nexus Build/JRO03H) AppleWebKit/534.30 (KHTML, like Gecko) Version/4.0 Mobile Safari/534.30
キャッシュされてるけど・・・ ハマりポイント④
rank作成のための DB負荷
常時SSL化したい ハマりポイント⑤
CDNに証明書インストールする必要! 証明書によっては ダメなのも。 ダメなやつだったら追加予算。 ※最近はだいたいOK
まとめ • しっかりと計画を立てる • ホスト名の有無(wwwなど)は非常に重要 • プラグインに気を付ける • CDNサービスも様々、仕様を確認する 最近のサービスは今回紹介したトラブルを
回避するような機能が付いてるのもある
ご清聴ありがとうございました