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
90
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
300
WordBench_Toyama0126
kenjikojima
0
86
WordBench_Gifu1202
kenjikojima
1
1.1k
WordBench_Niigata10072
kenjikojima
0
98
MT Tokyo 20170930
kenjikojima
0
420
CS Beer Bash Osaka Vol.2
kenjikojima
0
1.5k
2017/2/12WordBench奈良
kenjikojima
3
590
20170211WordBench大阪
kenjikojima
0
380
第3回WordBench 山口
kenjikojima
1
800
Other Decks in Technology
See All in Technology
事業と組織から目を逸らずに技術でリードする
ogugu9
4
190
encoding/json v2を予習しよう!
yuyu_hf
PRO
0
120
とあるEdTechベンチャーのシステム構成こだわりN選 / edtech-system
gotok365
4
290
さくらのクラウド開発の裏側
metakoma
PRO
4
1.6k
使えるデータ基盤を作る技術選定の秘訣 / selecting-the-right-data-technology
pei0804
6
1.2k
Previewでもここまで追える! Azure AI Foundryで始めるLLMトレース
tomodo_ysys
2
670
AIとSREで「今」できること
honmarkhunt
3
720
OPENLOGI Company Profile
hr01
0
64k
Tailwind CSS の小話「コンテナークエリーって便利」
yamaday
0
110
計測による継続的なCI/CDの改善
sansantech
PRO
1
450
Docker Compose で手軽に手元環境を実現する / Simplifying Local Environments with Docker Compose #CinemaDeLT
nabeo
0
120
AWSを利用する上で知っておきたい名前解決の話
nagisa53
6
800
Featured
See All Featured
Fashionably flexible responsive web design (full day workshop)
malarkey
407
66k
A Tale of Four Properties
chriscoyier
159
23k
How STYLIGHT went responsive
nonsquared
100
5.5k
The Cost Of JavaScript in 2023
addyosmani
49
7.8k
Principles of Awesome APIs and How to Build Them.
keavy
126
17k
Building a Modern Day E-commerce SEO Strategy
aleyda
40
7.2k
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
137
33k
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
41
2.3k
Six Lessons from altMBA
skipperchong
28
3.8k
Imperfection Machines: The Place of Print at Facebook
scottboms
267
13k
Practical Orchestrator
shlominoach
187
11k
Why You Should Never Use an ORM
jnunemaker
PRO
56
9.4k
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サービスも様々、仕様を確認する 最近のサービスは今回紹介したトラブルを
回避するような機能が付いてるのもある
ご清聴ありがとうございました