Download free for 30 days
Sign in
Upload
Language (EN)
Support
Business
Mobile
Social Media
Marketing
Technology
Art & Photos
Career
Design
Education
Presentations & Public Speaking
Government & Nonprofit
Healthcare
Internet
Law
Leadership & Management
Automotive
Engineering
Software
Recruiting & HR
Retail
Sales
Services
Science
Small Business & Entrepreneurship
Food
Environment
Economy & Finance
Data & Analytics
Investor Relations
Sports
Spiritual
News & Politics
Travel
Self Improvement
Real Estate
Entertainment & Humor
Health & Medicine
Devices & Hardware
Lifestyle
Change Language
Language
English
Español
Português
Français
Deutsche
Cancel
Save
Submit search
EN
Uploaded by
樽八 仲川
PDF, PPTX
18,711 views
失敗事例で学ぶ負荷試験
第7回Security-JAWSにて発表させていただいた負荷試験の失敗事例の紹介
Technology
◦
Read more
36
Save
Share
Embed
Embed presentation
Download
Download as PDF, PPTX
1
/ 66
2
/ 66
3
/ 66
4
/ 66
5
/ 66
6
/ 66
7
/ 66
8
/ 66
Most read
9
/ 66
10
/ 66
11
/ 66
12
/ 66
13
/ 66
14
/ 66
15
/ 66
16
/ 66
17
/ 66
18
/ 66
19
/ 66
20
/ 66
21
/ 66
22
/ 66
23
/ 66
24
/ 66
25
/ 66
26
/ 66
27
/ 66
28
/ 66
29
/ 66
30
/ 66
31
/ 66
32
/ 66
33
/ 66
34
/ 66
35
/ 66
36
/ 66
37
/ 66
38
/ 66
39
/ 66
40
/ 66
41
/ 66
42
/ 66
43
/ 66
44
/ 66
45
/ 66
46
/ 66
47
/ 66
48
/ 66
49
/ 66
50
/ 66
51
/ 66
52
/ 66
53
/ 66
54
/ 66
55
/ 66
56
/ 66
Most read
57
/ 66
58
/ 66
59
/ 66
60
/ 66
61
/ 66
62
/ 66
63
/ 66
64
/ 66
65
/ 66
66
/ 66
More Related Content
PDF
負荷試験入門公開資料 201611
by
樽八 仲川
PDF
フロー効率性とリソース効率性について #xpjug
by
Itsuki Kuroda
PDF
PostgreSQLをKubernetes上で活用するためのOperator紹介!(Cloud Native Database Meetup #3 発表資料)
by
NTT DATA Technology & Innovation
PDF
ツール比較しながら語る O/RマッパーとDBマイグレーションの実際のところ
by
Y Watanabe
PPTX
MongoDBが遅いときの切り分け方法
by
Tetsutaro Watanabe
PDF
Springを何となく使ってる人が抑えるべきポイント
by
土岐 孝平
PPTX
Redisの特徴と活用方法について
by
Yuji Otani
PDF
ゲームのインフラをAwsで実戦tips全て見せます
by
infinite_loop
負荷試験入門公開資料 201611
by
樽八 仲川
フロー効率性とリソース効率性について #xpjug
by
Itsuki Kuroda
PostgreSQLをKubernetes上で活用するためのOperator紹介!(Cloud Native Database Meetup #3 発表資料)
by
NTT DATA Technology & Innovation
ツール比較しながら語る O/RマッパーとDBマイグレーションの実際のところ
by
Y Watanabe
MongoDBが遅いときの切り分け方法
by
Tetsutaro Watanabe
Springを何となく使ってる人が抑えるべきポイント
by
土岐 孝平
Redisの特徴と活用方法について
by
Yuji Otani
ゲームのインフラをAwsで実戦tips全て見せます
by
infinite_loop
What's hot
PDF
SQLアンチパターン 幻の第26章「とりあえず削除フラグ」
by
Takuto Wada
PDF
【BS13】チーム開発がこんなにも快適に!コーディングもデバッグも GitHub 上で。 GitHub Codespaces で叶えられるシームレスな開発
by
日本マイクロソフト株式会社
PDF
コンテナの作り方「Dockerは裏方で何をしているのか?」
by
Masahito Zembutsu
PDF
コンテナ未経験新人が学ぶコンテナ技術入門
by
Kohei Tokunaga
PDF
AWSのログ管理ベストプラクティス
by
Akihiro Kuwano
PPTX
いまさら、AWSのネットワーク設計
by
Serverworks Co.,Ltd.
PPTX
コンテナネットワーキング(CNI)最前線
by
Motonori Shindo
PDF
[Aurora事例祭り]Amazon Aurora を使いこなすためのベストプラクティス
by
Amazon Web Services Japan
PPTX
AWS Organizations連携サービスの罠(Security JAWS 第26回 発表資料)
by
NTT DATA Technology & Innovation
PDF
おひとりさまAWS Organizationsのススメ
by
Makio Tsukamoto
PDF
テスト文字列に「うんこ」と入れるな
by
Kentaro Matsui
PDF
eBPFを用いたトレーシングについて
by
さくらインターネット株式会社
PDF
インフラエンジニアの綺麗で優しい手順書の書き方
by
Shohei Koyama
PPTX
Webアプリケーション負荷試験実践入門
by
樽八 仲川
PDF
フロー効率性とリソース効率性、再入門 #devlove #devkan
by
Itsuki Kuroda
PDF
分散トレーシング技術について(Open tracingやjaeger)
by
NTT Communications Technology Development
PDF
Pythonによる黒魔術入門
by
大樹 小倉
PDF
インフラCICDの勘所
by
Toru Makabe
PPTX
本当は恐ろしい分散システムの話
by
Kumazaki Hiroki
PPTX
ぱぱっと理解するSpring Cloudの基本
by
kazuki kumagai
SQLアンチパターン 幻の第26章「とりあえず削除フラグ」
by
Takuto Wada
【BS13】チーム開発がこんなにも快適に!コーディングもデバッグも GitHub 上で。 GitHub Codespaces で叶えられるシームレスな開発
by
日本マイクロソフト株式会社
コンテナの作り方「Dockerは裏方で何をしているのか?」
by
Masahito Zembutsu
コンテナ未経験新人が学ぶコンテナ技術入門
by
Kohei Tokunaga
AWSのログ管理ベストプラクティス
by
Akihiro Kuwano
いまさら、AWSのネットワーク設計
by
Serverworks Co.,Ltd.
コンテナネットワーキング(CNI)最前線
by
Motonori Shindo
[Aurora事例祭り]Amazon Aurora を使いこなすためのベストプラクティス
by
Amazon Web Services Japan
AWS Organizations連携サービスの罠(Security JAWS 第26回 発表資料)
by
NTT DATA Technology & Innovation
おひとりさまAWS Organizationsのススメ
by
Makio Tsukamoto
テスト文字列に「うんこ」と入れるな
by
Kentaro Matsui
eBPFを用いたトレーシングについて
by
さくらインターネット株式会社
インフラエンジニアの綺麗で優しい手順書の書き方
by
Shohei Koyama
Webアプリケーション負荷試験実践入門
by
樽八 仲川
フロー効率性とリソース効率性、再入門 #devlove #devkan
by
Itsuki Kuroda
分散トレーシング技術について(Open tracingやjaeger)
by
NTT Communications Technology Development
Pythonによる黒魔術入門
by
大樹 小倉
インフラCICDの勘所
by
Toru Makabe
本当は恐ろしい分散システムの話
by
Kumazaki Hiroki
ぱぱっと理解するSpring Cloudの基本
by
kazuki kumagai
Viewers also liked
PDF
DDD x CQRS 更新系と参照系で異なるORMを併用して上手くいった話
by
Koichiro Matsuoka
PPTX
脱RESTful API設計の提案
by
樽八 仲川
PDF
#jjug_ccc #ccc_f1 広告システム刷新の舞台裏 - PHPからJavaに変えてみました
by
Yahoo!デベロッパーネットワーク
PDF
CDNのトラフィックエンジニアリング:CDNの現状とSDNの可能性
by
J-Stream Inc.
PDF
Internetトラフィックエンジニアリングの現実
by
J-Stream Inc.
PDF
Java SE 9の紹介: モジュール・システムを中心に
by
Taku Miyakawa
PPTX
「書ける」から「できる」になれる! ~Javaメモリ節約ノウハウ話~
by
JustSystems Corporation
PDF
改めて考える適材適所のDDoS対策~まだDDoSで消耗しているの?~
by
Tomohiro Nakashima
PPTX
SQLまで使える高機能NoSQLであるCouchbase Serverの勉強会資料
by
樽八 仲川
PDF
AWS Security JAWS 経済的にハニーポットのログ分析をするためのベストプラクティス?
by
Masamitsu Maehara
PPTX
デジタル・フォレンジックとOSS
by
UEHARA, Tetsutaro
PDF
TectonicはKubernetesの構築・管理基盤である -概要の章-/-構築の章-
by
Masahito Zembutsu
PDF
Webアプリケーションの パフォーマンス向上のコツ 実践編
by
Masahiro Nagano
PDF
失敗と向き合う姿勢を正す話
by
LIFULL Co., Ltd.
PDF
超簡単!? ActiveAdminで作る管理画面@Ruby / Ruby on Rails ビギナーズ勉強会 第3回
by
Kanako Kobayashi
PDF
マルウェア流入対策のもうひと工夫~プロが厳選!低予算でもできる効果あるセキュリティ施策~
by
Tomohiro Nakashima
PPTX
LIFULLマーケター総会スライド(2017/07)
by
LIFULL Co., Ltd.
PPTX
Redmine4時代のプラグイン開発 redmine.tokyo #13
by
Sho Douhashi
PDF
Webアプリケーションの パフォーマンス向上のコツ 概要編
by
Masahiro Nagano
PDF
インタラクションツール最前線!〜プロトタイピングツールの使い分け〜
by
Ryo Yoshitake
DDD x CQRS 更新系と参照系で異なるORMを併用して上手くいった話
by
Koichiro Matsuoka
脱RESTful API設計の提案
by
樽八 仲川
#jjug_ccc #ccc_f1 広告システム刷新の舞台裏 - PHPからJavaに変えてみました
by
Yahoo!デベロッパーネットワーク
CDNのトラフィックエンジニアリング:CDNの現状とSDNの可能性
by
J-Stream Inc.
Internetトラフィックエンジニアリングの現実
by
J-Stream Inc.
Java SE 9の紹介: モジュール・システムを中心に
by
Taku Miyakawa
「書ける」から「できる」になれる! ~Javaメモリ節約ノウハウ話~
by
JustSystems Corporation
改めて考える適材適所のDDoS対策~まだDDoSで消耗しているの?~
by
Tomohiro Nakashima
SQLまで使える高機能NoSQLであるCouchbase Serverの勉強会資料
by
樽八 仲川
AWS Security JAWS 経済的にハニーポットのログ分析をするためのベストプラクティス?
by
Masamitsu Maehara
デジタル・フォレンジックとOSS
by
UEHARA, Tetsutaro
TectonicはKubernetesの構築・管理基盤である -概要の章-/-構築の章-
by
Masahito Zembutsu
Webアプリケーションの パフォーマンス向上のコツ 実践編
by
Masahiro Nagano
失敗と向き合う姿勢を正す話
by
LIFULL Co., Ltd.
超簡単!? ActiveAdminで作る管理画面@Ruby / Ruby on Rails ビギナーズ勉強会 第3回
by
Kanako Kobayashi
マルウェア流入対策のもうひと工夫~プロが厳選!低予算でもできる効果あるセキュリティ施策~
by
Tomohiro Nakashima
LIFULLマーケター総会スライド(2017/07)
by
LIFULL Co., Ltd.
Redmine4時代のプラグイン開発 redmine.tokyo #13
by
Sho Douhashi
Webアプリケーションの パフォーマンス向上のコツ 概要編
by
Masahiro Nagano
インタラクションツール最前線!〜プロトタイピングツールの使い分け〜
by
Ryo Yoshitake
失敗事例で学ぶ負荷試験
1.
失敗事例で学ぶ負荷試験 @Security-JAWS 第7回 (株) ゆめみ
仲川樽八
2.
負荷試験って、 セキュリティーの話じゃないじゃん。
3.
負荷試験は、情報セキュリティーのCIA ・機密性 ・完全性 ・可用性 のうちの、可用性を担保するための重要な手段 です。
4.
ということで、 セキュリティーの一部として お話させて下さい。
5.
自己紹介 ベンチャー企業でガラケーからずっとWebシステムの開発をしていまし た。 最近はほぼAWS上でのシステム構築をしています。 負荷試験本を書きました。
6.
業務内容 Web系システムの請負開発案件における ご要望の整理 開発コスト見積もり
詳細な要件定義 設計・ソリューション選定 実装・単体試験 結合試験・負荷試験 デプロイプロセスの構築・デプロイ 保守・運用(誰かに引き継ぐまで) だいたい全部やってます。 今日はここの話
7.
クラウドで構築されたシステムの 可用性に関する3つの派閥 ク ラ ウ ド 使 っ て る ん だ か ら 落 ち な い で し ょ 。 ク ラ ウ ド な ん て す ぐ に 落 ち る も の だ よ 。 ク ラ ウ ド 使 っ て 落 ち な い シ ス テ ム を 作 る の が 仕 事 で し ょ ?
8.
当然ですが、この人が正しいです。 単体のインスタンスは故障する。 ただし、正しく冗長化をすることで可用性を上げる。 また、高負荷に対しても、スケール対応させる。 そのためのクラウドデザインパターンが沢山あります。 ク ラ ウ ド 使 っ て 落 ち な い シ ス テ ム を 作 る の が 仕 事 で し ょ ?
9.
ス ケ ー ル 対 応 も さ せ た し 、 余 裕 っ し ょ 。
10.
失敗事例 1
11.
夢であってくれ
12.
案件の詳細
13.
割 愛 ・ ・ ・ ・ ! 案 件 の 詳 細 を お 見 せ す る こ と が ・ ・ ・ で き な い ・ ・ ・ ・ ! 無 論 ・ ・ ・ ・ 見 せ た い ・ ・ ・ ・ ! 我 々 は そ の 一 部 始 終 を ・・・・ 見 て い た だ き た い ・・・・! が ・ ・ ・ ・ 駄 目 ・ ・ !
14.
リリース当日
15.
なんですぐに死んでしまうん?
16.
緊急負荷対策チーム結成
17.
実際に取られた負荷対策 キャンペーンサイトにユーザーが流入する為のリンクを全て 落として、お問い合わせベースでURLをご案内する。
18.
影響範囲
19.
圧 倒 的 コ ン プ ラ イ ア ン ス に よ っ て ・ ・ ・ ・ お 見 せ す る こ と が で き な い ・ ・ ・ ・ !
20.
負 荷 試 験 を 実 施 し て い な い の で あ る 。 誰 も !
21.
失敗事例 2
22.
スケールアップの限界
23.
社 長 の た め に 、 最 初 か ら を 契 約 し て お い て あ げ た ね ん 。 db.m4.16xlarge
24.
負荷試験していないシステムでスケールアップをしても、実際に処理 性能が上がる保証は全くありません。 DBのスケールアップでシステムの処理性能がどこまで追従するかは アプリケーション依存ですが、multi-AZ環境で最初から上位のインス タンスを利用しているケースにおいてはスケールアップによる性能向 上は限定的です。 ※メモリが潤沢になることにより、データや各種Indexがオンメモリに なる恩恵は有ります。
25.
失敗事例 3
26.
「それさぁ。先に言ってよ~」
27.
業務内容 他案件のヘルプで負荷試験だけを依頼されることがある。 ご要望の整理 開発コスト見積もり
詳細な要件定義 設計・ソリューション選定 実装・単体試験 結合試験・負荷試験 デプロイプロセスの構築・デプロイ 保守・運用(誰かに引き継ぐまで) ここまで 全部終わってる
28.
Q. 利用ユーザー数の想定は? A. わかりません。 Q.
スパイク時のリクエスト量の想定は? A. わかりません。 Q. データ総ボリューム数の想定は? A. わかりません。
30.
・一番最初のご要望の整理の時点で、負荷試験を見据えたヒアリン グを行って下さい。 ・負荷試験をスケジュール上の最後に持ってきてはいけません。 負荷試験においては大抵何らかのシステムの不具合が検出されま すので、その後に改修をする時間を予め見込んでおく必要がありま す。
31.
失敗事例 4
32.
商用環境と構成が違う
33.
こ ん な こ と も あ ろ う か と 、 オ レ の ロ ー カ ル 開 発 環 境 で 負 荷 試 験 は 実 施 済 み だ 。
34.
商用環境がAWSなら、AWS上に商用環境と同等の負荷試験環境を 構築して下さい。 今なら秒単位の課金なので、コスト的には非常にやりやすくなってい ます。 ローカルのマシンのプロファイリング結果と実際の環境上では全く異 なる結果となることが多く、むしろこの負荷試験結果は邪魔になるこ とすらあります。
35.
失敗事例 5
36.
商用環境をそのまま使う その1
37.
そ ん な の は 理 論 値 の 証 明 に 過 ぎ な い だ ろ ? そ の エ ン ジ ン テ ス ト で 私 が 知 り た い の は 運 転 限 界 な ん だ よ そ の 二 号 エ ン ジ ン は 実 測 値 採 り の た め に 用 意 し た ん だ う ん か ま わ な い い っ そ 壊 す つ も り で ギ リ ギ リ ま で 出 力 を 上 げ て み て く れ
38.
やっぱり壊れる。
39.
爆 発 し た 二 号 エ ン ジ ン の 残 し た デ ー タ の 内 容 に は 満 足 し て い ま す 次 は 失 敗 し ま せ ん 御 期 待 下 さ い
40.
・負荷試験は対象のシステムを負荷で落とすつもりでかけるものです。 ただし、その時に負荷試験対象のシステムにつなぎこまれたシステムや稼 働中の共有リソースが有るとそちらのシステムに迷惑をかけてしまいます。 ・外部連携先がある場合は、適宜スタブを準備して下さい。 ※外部連携先のシステムの性能に引きづられて実際には低い性能しか発 揮できない場合であっても、そちらのシステムが改善した前提で負荷試験 を行ったほうが良いです。 ・また、負荷試験では大量のゴミデータを生成する事がありますので、他 の検証環境や受け入れテスト環境とも分離しておいた方が良いです。
41.
商用環境をそのまま使う その2
42.
例えば商用環境では https://でアクセスするSSLサイトの 試験をどう実施するか?
43.
オ イ オ イ オ イ死 ぬ わ ア イ ツ ほ う SSL 抜 き 負 荷 試 験 で す か ・・・ た い し た も の で す ね
44.
「SSLを利用しない負荷試験は、対象のサーバに対し て100%の負荷をかけることができるため、愛用する エンジニアも多いと聞きます。」 ※逆にSSL経由の試験を行った場合には、攻撃力不足となるため、非SSLにおける試験の1/10以 下のスループットにしかならない程度のぬるい負荷しか与えることができないこともあります。
45.
失敗事例 6
46.
攻撃力が不十分
47.
攻撃ツールが良くない 攻撃サーバ-アプリケーション間の Keep-Aliveが出来ていない
攻撃サーバがネットワーク的に遠すぎ る 攻撃サーバの能力不足 攻撃サーバ起動パラメータ不正 攻撃用同時クライアント数が少なすぎ る/多すぎる その他 き ・ ・ ・ き か ぬ き か ぬ の だ !
48.
ちなみに、あまりにも時間がなさすぎて、社内ネッ トワークから負荷試験をかけてみた
49.
会社のメンバー全員のブラウザにこの表示が出るようになった。
50.
失敗事例 7
51.
とにかく実施してから考えよう。
52.
シナリオのスループット:100 rps APIスループット:1000 rps 平均レイテンシ:200msec
53.
な ん か 結 果 で た よ 。 試 験 お わ り !
54.
ELB Availability Zone Availability
Zone EC2 instance web app server Amazon Route 53 攻撃サーバ RDS DB instance RDS standby (Multi-AZ) ElastiCache ElastiCache EC2 instance web app server web app server web app server EC2 instance EC2 instance 外部サービス S3/Dynamodb 他Restful APIサービスなど http/https 通信 ×攻撃シナリオ ×キャッシュ設計 ×更新クエリ ×参照クエリ ×接続方法 ×接続方法 ×フレームワーク ×ネットワークリソース ×アプリロジック ×接続方法 ×CPUリソース ×Memリソース ×CPUリソース ×Memリソース ×Disk帯域 ×CPUリソース ×Memリソース ×ネットワークリソース ×接続方法 ×CPUリソース ×Memリソース ×ミドルウエア設定 ×index設計 ×データ肥大化 ×ツール設定
55.
俺 達 は 雰 囲 気 で 負 荷 試 験 を や っ て い る ぜ ん ぜ ん わ か ら な い
56.
・雰囲気でやった負荷試験において、何らかの数字が取れた時に、 その数字が正しいのかどうかもわからない状態となります。 ※そして大抵の場合は正しくないです。 ・さらに、どこが間違っていたのかもわかりません。
57.
雰囲気に頼らない負荷試験 数学の定理の証明のように、少しづつ正しいで あろうと考えられる範囲を増やしていく
58.
雰囲気に頼らない負荷試験 単体のWebサーバに対する試験 1. 負荷試験攻撃サーバが正しく攻撃できていることを確認 2. 静的なファイルであれば高速に応答出来ることを確認 3.
単純なhelloworldであれば高速に応答できることの確認 4. 参照系であれば高速に応答できることの確認 5. 更新系が高速に応答できることの確認 6. 外部システムへの連携が正常に出来る確認 7. シナリオが通ることの確認 WebサーバをELB配下に設置して行う試験 1. スケールアップ、スケールアウトに追従することの確認 2. 攻撃サーバをスケールアウトさせる限界試験
59.
詳しくは
60.
おまけ
61.
システムがスケールしない時 スケールしない原因は、スケールさせていない部分。 つまり、共有の外部リソースへのアクセス部分であることが多い。 特に、コネクションプーリングの有無で パフォーマンスは大きく変わる。
62.
なにはともあれ、 コネクションプーリング と言っただろ!!
63.
岡崎市中央図書館事件
64.
ある図書館の新刊検索システムがまともに機能しないため、 1秒間に1回のリクエストを投げてスクレイピングをする システムを稼働させた男性の不幸な物語。
65.
コネクションプーリングのせいで 400リクエスト/時間 以上のアクセスでサイトが落ちるシステムだった。 ↓ 結果:偽計業務妨害容疑で男性を逮捕、 実名報道の上20日間の勾留と取り調べ 名誉回復まで1年間かかる
66.
ちゃんと計測しましょう。 結論
Download