Upload
kiminori-yokoi
View
1.059
Download
3
Embed Size (px)
Citation preview
自己紹介
• 横井 公紀• https://www.facebook.com/kiminori.yokoi
• Sierに勤務しています。
• 主にクラウド(AWS, Azure)の活用提案・環境構築を行っています。
IoT時代には高性能が求められる
プログラムXMLRPC
API サービス
自動
自動
自然事象SENSOR
自動
非常に多くのリクエスト非常に多くのセッション
非常に多くのデータさらにリアムタイム更新
KUSANAGIとは三種の神器の一つ。草薙剣(くさなぎのつるぎ)、草那芸之大刀(くさなぎのたち)の異名である。熱田神宮の神体となっている。三種の神器の中では天皇の持つ武力の象徴であるとされる。「草を薙いだ剣」ヤマトタケルが伊勢神宮でこれを拝受し、東征の途上の駿河国で、この神剣によって野火の難を払い、草薙剣の別名を与えた。この説は広く知られているが、日本書紀では異伝とされている。現在の静岡県には、焼津、草薙など、この神話に由来する地名が残る。 Wikipediaより!
ということは、熱田神宮にあるってこと?
今のWordPress環境
AWS東京リージョン
エンドユーザ
AZ-A
WEB WEB S3(動的変更コンテンツ用ストレージ)
画像等の静的コンテンツ
CloudWatch(監視サービス)
AWS Labmda(自動記事投稿用)
AWS Labmda(データ取得用)
WEBサービス
(参考) 昔のWordPress環境
AWS東京リージョン
エンドユーザ
AZ-A AZ-C
・・・ ・・・WEB WEB WEB WEB
EC2
RDS(Master)
S3(コンテンツ用ストレージ)
EC2
画像等の静的コンテンツ
RDS(Slave)
CloudWatch(監視サービス)
Before vs After
• EC2利用料 $55.34 → $28.89– Auto Scalingしなくても負荷に耐えるため、
サーバ1台分の費用まで落ちた。–ロードバランサー(ELB)が不要になり
費用が落ちた。• データ通信料 $18.42 → $22.97–レスポンスが早くなり、ページ回遊数と
滞在時間が増えたためと推測。• 広告クリック率は0.25% → 0.64%に!
そんな!KUSANAGIにしたけど早くならないなんて!
• 全てのコンテンツが自サーバあるいは、ブラウザキャッシュが効いている他サーバから返されているか?
• Google Chromeでレスポンス速度を確認することが可能でした。一度見てみたところ・・・
Adsenseは表示が遅い
• Google Adsenseの「非同期コード」を使うと、他のHTMLコードの読み込みを待たずに読み込むことができるため、多少早まりますが、Nginxを極めると、このオプションを使用しても広告の表示のほうが遅い場合があります。
• ページの読み込みが遅い時の対策に有効だったのですが、ページのほうが早くなってしまいました。。。
外部参照はできる限り少なく
• Google Adsenseのように外部サーバを参照するコードはなるべく書かないようにします。
• ほとんど気にならない程度とはいえ、KUSANAGIの効果を打ち消してしまいます。
ページが早く表示されることの意味
出展:ページ表示2秒でイライラし始め、3分の1は「もういいや」となる, 安田英久, ITMediaビジネスオンライン, http://bizmakoto.jp/makoto/articles/1005/19/news005.html
502それは破滅の始まり
• 3週間に1度くらいの頻度で出現
• 厄介なことに原因がよくわからない (調査中)– KUSANAGI固有ではなくnginxの事象か?– 色んなログを見ても明確に特定が難しい。– アクセスログを見ると前触れ無く突然に
502が出現している。
• 一度出現すると502のまま復旧しない– 個人運営ゆえ、ユーザ様からの連絡に気づかず
24時間以上放置したことも…– 放置すると「閲覧不可である状態」のキャッシュが
残ってしまう?
再起動時には以下も実行
• KUSANAGIキャッシュの削除– KUSANAGI高速化の最大の恩恵である
キャッシュも、再起動前の変な状態のものが残らないように、全て削除します。
• 念のためパッチ当て– もしかしたらセキュリティホールかも?の不安。– 自動でyum –y update を実行します。
まとめ
• KUSANAGI(nginx)を導入することによる期待効果は
– 数百・数千という大量の同時接続を処理することが可能
– これらの接続に対して高速にレスポンスを返すことが可能
– ランニングコストの削減、アクセス数の増加、コンバージョンの増加を実現
まとめ
• KUSANAGIは、AWSと組み合わせることで安価・安全に運用できる
– 502発生による閲覧不可問題の対策にはAWSのマネージドサービスの組み合わせが有効
– AWSのマネージドサービスは殆どコスト不要
– CloudWatch × SQSで、502の影響時間を極小化することが可能