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

ありがとうございました