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
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
Kenji Kojima
October 10, 2017
Technology
130
0
Share
WordBench_Niigata1007
10/7のWordBench新潟でお話しした内容です。
Kenji Kojima
October 10, 2017
More Decks by Kenji Kojima
See All by Kenji Kojima
WordBench山口0407
kenjikojima
1
340
WordBench_Toyama0126
kenjikojima
0
110
WordBench_Gifu1202
kenjikojima
1
1.2k
WordBench_Niigata10072
kenjikojima
0
140
MT Tokyo 20170930
kenjikojima
0
580
CS Beer Bash Osaka Vol.2
kenjikojima
0
1.5k
2017/2/12WordBench奈良
kenjikojima
3
640
20170211WordBench大阪
kenjikojima
0
470
第3回WordBench 山口
kenjikojima
1
840
Other Decks in Technology
See All in Technology
Oracle AI Databaseデータベース・サービス: BaseDB/ExaDB-Dの可用性
oracle4engineer
PRO
1
150
Cortex Codeでデータの仕事を全部Agenticにやりきろう!
gappy50
0
320
MCPゲートウェイ MCPass の設計と実装 エンタープライズで AI を「運用できる」状態にする
mtpooh
1
170
会社紹介資料 / Sansan Company Profile
sansan33
PRO
16
410k
「決め方」の渡し方 / How to hand over the "decision-making process"
pauli
8
1.3k
ADOTで始めるサーバレスアーキテクチャのオブザーバビリティ
alchemy1115
2
260
OCI技術資料 : ロード・バランサ 概要 - FLB・NLB共通
ocise
4
28k
「できない」のアウトプット 同人誌『精神を壊してからの』シリーズ出版を 通して得られたこと
comi190327
3
620
互換性のある(らしい)DBへの移行など考えるにあたってたいへんざっくり
sejima
PRO
0
560
AIドリブン開発の実践知 ― AI-DLC Unicorn Gym実施から見えた可能性と課題
mixi_engineers
PRO
0
120
推し活エージェント
yuntan_t
1
870
ストライクウィッチーズ2期6話のエイラの行動が許せないのでPjMの観点から何をすべきだったのかを考える
ichimichi
1
280
Featured
See All Featured
Thoughts on Productivity
jonyablonski
76
5.1k
A designer walks into a library…
pauljervisheath
211
24k
AI Search: Where Are We & What Can We Do About It?
aleyda
0
7.3k
Gemini Prompt Engineering: Practical Techniques for Tangible AI Outcomes
mfonobong
2
350
Product Roadmaps are Hard
iamctodd
PRO
55
12k
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
122
21k
Chrome DevTools: State of the Union 2024 - Debugging React & Beyond
addyosmani
10
1.1k
Beyond borders and beyond the search box: How to win the global "messy middle" with AI-driven SEO
davidcarrasco
3
100
Making the Leap to Tech Lead
cromwellryan
135
9.8k
svc-hook: hooking system calls on ARM64 by binary rewriting
retrage
2
200
GraphQLの誤解/rethinking-graphql
sonatard
75
12k
Keith and Marios Guide to Fast Websites
keithpitt
413
23k
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サービスも様々、仕様を確認する 最近のサービスは今回紹介したトラブルを
回避するような機能が付いてるのもある
ご清聴ありがとうございました