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
140
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
WordBench_Niigata1007
10/7のWordBench新潟でお話しした内容です。
Kenji Kojima
October 10, 2017
More Decks by Kenji Kojima
See All by Kenji Kojima
WordBench山口0407
kenjikojima
1
370
WordBench_Toyama0126
kenjikojima
0
120
WordBench_Gifu1202
kenjikojima
1
1.3k
WordBench_Niigata10072
kenjikojima
0
150
MT Tokyo 20170930
kenjikojima
0
650
CS Beer Bash Osaka Vol.2
kenjikojima
0
1.5k
2017/2/12WordBench奈良
kenjikojima
3
660
20170211WordBench大阪
kenjikojima
0
490
第3回WordBench 山口
kenjikojima
1
860
Other Decks in Technology
See All in Technology
Bill One 開発エンジニア 紹介資料
sansan33
PRO
7
19k
『三匹の子ぶた』から学ぶネットワークセキュリティの昔と今 / Network Security: Then and Now Through the Lens of The Three Little Pigs
nttcom
1
4.1k
同じWAFが、攻撃の“形”は弾く── 正当な“形”の不正は通す
kuroneko13
0
190
今こそ聞きたいソフトウェア設計 ドメイン駆動設計再入門
masuda220
PRO
17
7.3k
モノリス Rails でも日中に rails db:migrate を走らせたい! / Daytime rails db:migrate on Monolithic Rails!
euglena1215
4
580
第3回しろおびセキュリティスポンサーセッション
log0417
0
190
DatadogのBits Chatが開発組織にもたらしたもの / What Bits Chat Has Brought Us
sms_tech
1
260
制約理論(ToC)入門 2026版
recruitengineers
PRO
8
2.3k
ラジオの科学
frievea
0
310
ハーレムエンジニアリング
kazuma777777
0
150
変化の早いClaude Codeを 書籍に落とし込む
oikon48
7
1.4k
老害フォレンジッカーはAI羊の夢を見るか?
tadmaddad
0
330
Featured
See All Featured
Side Projects
sachag
455
43k
What Being in a Rock Band Can Teach Us About Real World SEO
427marketing
0
1.1k
State of Search Keynote: SEO is Dead Long Live SEO
ryanjones
0
240
Technical Leadership for Architectural Decision Making
baasie
3
470
From π to Pie charts
rasagy
0
280
The Power of CSS Pseudo Elements
geoffreycrofte
82
6.5k
The Language of Interfaces
destraynor
162
27k
The Illustrated Guide to Node.js - THAT Conference 2024
reverentgeek
1
430
Self-Hosted WebAssembly Runtime for Runtime-Neutral Checkpoint/Restore in Edge–Cloud Continuum
chikuwait
0
700
Scaling GitHub
holman
464
140k
Paper Plane (Part 1)
katiecoart
PRO
1
10k
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
194
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サービスも様々、仕様を確認する 最近のサービスは今回紹介したトラブルを
回避するような機能が付いてるのもある
ご清聴ありがとうございました