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
330
CS Beer Bash Osaka Vol.2
kenjikojima
0
1.5k
2017/2/12WordBench奈良
kenjikojima
3
570
20170211WordBench大阪
kenjikojima
0
300
第3回WordBench 山口
kenjikojima
1
770
Other Decks in Technology
See All in Technology
Amazon_CloudWatch_ログ異常検出_導入ガイド
tsujiba
4
1.6k
コンテナのトラブルシューティング目線から AWS SAW についてしゃべってみる
kazzpapa3
1
110
使えそうで使われないCloudHSM
maikamibayashi
0
170
事業者間調整の行間を読む 調整の具体事例
sugiim
0
1.6k
AWSコンテナ本出版から3年経った今、もし改めて執筆し直すなら / If I revise our container book
iselegant
15
4k
現地でMeet Upをやる場合の注意点〜反省点を添えて〜
shotashiratori
0
540
Datachain会社紹介資料(2024年11月) / Company Deck
datachain
4
16k
omakaseしないための.rubocop.yml のつくりかた / How to Build Your .rubocop.yml to Avoid Omakase #kaigionrails
linkers_tech
3
780
いまさらのStorybook
ikumatadokoro
0
150
チームを主語にしてみる / Making "Team" the Subject
ar_tama
4
310
グローバル展開を見据えたサービスにおける機械翻訳プラクティス / dp-ai-translating
cyberagentdevelopers
PRO
1
150
物価高なラスベガスでの過ごし方
zakky
0
390
Featured
See All Featured
Designing the Hi-DPI Web
ddemaree
280
34k
[Rails World 2023 - Day 1 Closing Keynote] - The Magic of Rails
eileencodes
32
1.8k
Embracing the Ebb and Flow
colly
84
4.4k
Raft: Consensus for Rubyists
vanstee
136
6.6k
VelocityConf: Rendering Performance Case Studies
addyosmani
325
24k
Understanding Cognitive Biases in Performance Measurement
bluesmoon
26
1.4k
Into the Great Unknown - MozCon
thekraken
31
1.5k
Practical Tips for Bootstrapping Information Extraction Pipelines
honnibal
PRO
9
680
Imperfection Machines: The Place of Print at Facebook
scottboms
264
13k
For a Future-Friendly Web
brad_frost
175
9.4k
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
26
2.1k
Principles of Awesome APIs and How to Build Them.
keavy
126
17k
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サービスも様々、仕様を確認する 最近のサービスは今回紹介したトラブルを
回避するような機能が付いてるのもある
ご清聴ありがとうございました