何故負荷試験が大切かを考える
by
入井 啓太
×
Copy
Open
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Slide 1
Slide 1 text
何故負荷試験が大切かを考える 入井 啓太
Slide 2
Slide 2 text
2 自己紹介 名前:入井啓太(@iridon0920) 所属:クラスメソッド株式会社 ゲームソリューション部/業務効率化ソリューション部 居住:名古屋 肩書:エンジニア 趣味:ゲーム、漫画、猫、筋トレなど
Slide 3
Slide 3 text
皆さん、負荷試験って しっかりやっていますか?
Slide 4
Slide 4 text
私と負荷試験 - 昔 ● 社内業務システムの開発・運用担当時代 ○ あまり規模の大きな会社ではなかった ○ 業務システムの利用者数も多くない ○ 某VPSの標準スペックサーバーでも問題なく動作 ○ そのため、負荷問題をあまり意識した事が無い ● 受託開発担当時代 ○ 開発が中心 ○ やはり負荷問題は意識する機会無く
Slide 5
Slide 5 text
私と負荷試験 - 今 ● ゲーム案件に関わるようになり勉強中 ○ 案件対応で負荷試験の伴走型支援に関わるように ■ まだまだ経験豊富なエンジニアに助けてもらっている段階 ○ ユーザー規模が業務システムと桁違い ○ 停止時の影響が大きい ■ 特に課金形式のゲーム ○ 予兆無く突発的なアクセス増が入ることも ○ 事前の負荷試験が極めて重要
Slide 6
Slide 6 text
負荷試験とは 特定の負荷をかけた際のシステムの状態を確かめる試験 攻撃ツールによる 大量リクエスト このシステムは10万人の同時ア クセスがあっても 正常に動作するかな?
Slide 7
Slide 7 text
負荷試験のサイクル 目標値の達成を確認できるまで繰り返す 負荷試験の計画 負荷試験の実施 システムの改善 負荷試験の結果確認
Slide 8
Slide 8 text
目標値をクリアできれば 負荷が原因の障害が起きる可能性が低くなる システムが耐えられそうな 限界値も把握できる
Slide 9
Slide 9 text
・・・が、実際は後回しにされがち
Slide 10
Slide 10 text
負荷試験が後回しにされる色々な理由 ● 準備や実施のための時間が無い ● 予想以上に試験にお金がかかり予算が取れない ● やり方が分からない ● クラウドだからオートスケールで何とかなるでしょ
Slide 11
Slide 11 text
かと言って後回しにすると 本番リリース時に恐ろしいことが起きるかも
Slide 12
Slide 12 text
負荷試験が充分でないと何が起こる? リリース時に予想外のトラブルでシステムが停止する可能性 ● 大きな機会損失 ○ 規模によっては1日辺り数千万円以上の売上を逃すことに・・・ ● 顧客からの信頼失墜 ● 負荷が原因の問題は改修に時間がかかり長引きやすい ○ 何が原因かすぐに特定できない ○ テスト環境での検証も時間がかかる
Slide 13
Slide 13 text
クラウドなら、事前にちゃんと設定しておけば オートスケールとか冗長構成で何とかなるんじゃ?
Slide 14
Slide 14 text
何とかなるかを確認するための負荷試験 実際に負荷をかけないと分からないことが多い ● 全てのサーバー・サービスの設定が適切か? ● 規模に対して本当に適切なスペックか? スケールがいつも有効とは限らない ● 設定やコードがボトルネックの時はサーバーの台数やスペックを増 やしても効果が薄い ○ DBのコネクションプーリング数設定ミス、デッドロックの発生など
Slide 15
Slide 15 text
負荷試験を実施しないという選択肢は無い “負荷試験を行わないということは、 「システムリリース後にシステムがまともに動作し なくてもよい」ということとほぼ同じです” 「Amazon Web Services 負荷試験入門 - クラウドの性能の引き出し方がわかる |仲川樽八、森下健 著」より引用
Slide 16
Slide 16 text
おすすめ書籍 ● 負荷試験の考え方や具体的 な進め方が丁寧に書かれて いる ● これ1冊を手順書として実際 の負荷試験が行えるレベル ● AWSと書かれているが、どん な環境でも有用な知見
Slide 17
Slide 17 text
頑張ろう、負荷試験
Slide 18
Slide 18 text
ありがとうございました