Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
サーバレス時代の負荷テスト戦略 / Load testing strategy for se...
Search
geeawa
January 22, 2020
Technology
5.1k
18
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
サーバレス時代の負荷テスト戦略 / Load testing strategy for serverless
geeawa
January 22, 2020
More Decks by geeawa
See All by geeawa
AI が開発・運用しやすいクラウド 〜サーバーレスの視点から考える設計原則〜 / serverless-design-principles-for-ai-agent-era
gawa
2
40
Amazon Bedrock AgentCore ワークショップ JAWS UG TOHOKU / amazon-bedrock-agentcore-workshop-jawsug-tohoku-2026
gawa
9
1.9k
運用エージェントは "作る" から "育てる" へ - 記憶と自己進化の3層設計パターン / self-evolving-agents-three-layer-agent-design
gawa
12
4.6k
ローカルで稼働するAI エージェントを超えて / beyond-local-ai-agents
gawa
3
440
AI は "道具" から "同僚" へ 自律型 AI エージェントの最前線と、AI 時代の人材の在り方 / Colleague in the AI Era - Autonomous AI Seminar 2026 at Niigata
gawa
0
410
Server Less Code More - コードを書かない時代に生きるサーバーレスデザイン / server-less-code-more
gawa
5
3.3k
[JAWS-UG TOHOKU] AI エージェント作って・使って・楽しんで ~Bedrock Engineer で AI エージェントを体験しよう~ / create, use and enjoy AI agents
gawa
6
860
AI Agent that supports ”YOU” / introducing-bedrock-engineer-en
gawa
2
1.2k
開発エージェントの作り手から見る開発エージェントの利用テクニック / ai-coding-dojyo-bedrock-engineer
gawa
3
920
Other Decks in Technology
See All in Technology
オブザーバビリティを高める AI エージェント体験を考える / Designing AI Agent Experiences That Enhance Observability
aoto
PRO
2
320
購入ドメインでの課題と取り組み
ykagano
0
150
AIがコードを書く時代に、エンジニアは何で自分の価値を証明するのか / In an era where AI writes code how do engineers prove their value
carta_engineering
1
680
The seven pitfalls of AI (revised version)
ufried
0
310
予測不能な実行エージェントを安全にサクッと試せるサンドボックス環境の話
sansantech
PRO
0
140
AI 時代の Azure エンジニアリング ~ 私たちは何を磨き、何を任せるのか ~
chack411
1
550
FactoryBotアンチパターン / factory_bot anti-patterns
toshimaru
0
140
しろおびから始める!ログ活用の第一歩
shumei_ito
0
810
Essential architectural thinking (revised edition)
ufried
0
110
「事実」を「計測」して、「解釈」する 〜AWS Lambdaのメモリ最適解の見つけ方〜
maimyyym
0
120
あなたの知らないAmazon VPC Route Server/Amazon VPC Route Server you don't know about
masakiokuda
2
250
DevelopersIO 2026 知識の地図を描く ─ オントロジーとは何か?
ishikawa_satoru
1
1.2k
Featured
See All Featured
It's Worth the Effort
3n
188
29k
So, you think you're a good person
axbom
PRO
2
2.2k
The Pragmatic Product Professional
lauravandoore
37
7.5k
AI Search: Where Are We & What Can We Do About It?
aleyda
0
8.1k
The Language of Interfaces
destraynor
162
27k
Marketing to machines
jonoalderson
1
5.9k
We Analyzed 250 Million AI Search Results: Here's What I Found
joshbly
2
2k
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
123
22k
Gemini Prompt Engineering: Practical Techniques for Tangible AI Outcomes
mfonobong
2
580
Heart Work Chapter 1 - Part 1
lfama
PRO
10
37k
Writing Fast Ruby
sferik
630
63k
sira's awesome portfolio website redesign presentation
elsirapls
0
450
Transcript
サーバレス時代 の 負荷テスト戦略 〜CircleCIで実現する継続的負荷テストとチューニングTips〜 2020.01.22 Serverless Meetup Tokyo #15
淡路⼤輔 / INTEC @gee0awa 好きな技術 Serverless / React Native
負荷テスト と サーバレス
Elasticity Performance, Scalability, Resilience
None
App
App EC2 r4.large × 1
App EC2 r4.large × 1 ApachBench
App EC2 r4.large × 1 ApachBench $ ab -n 100
-c 10 http://example.com
EC2 EC2 EC2 EC2 EC2 App r4.large × 5
EC2 EC2 EC2 EC2 EC2 App r4.large × 5
EC2 EC2 EC2 EC2 EC2 App r4.large × 5
Master EC2 EC2 EC2 EC2 App r4.large × 5
EC2 EC2 EC2 EC2 EC2 EC2 EC2 EC2 EC2 App
r4.large × 10 Master
EC2 EC2 EC2 EC2 EC2 EC2 EC2 EC2 EC2 EC2
EC2 EC2 EC2 EC2 App r4.large × 15 Master
・負荷に応じて Slave 台数をスケールさせたい ・サーバの⽤意に時間がかかる ・GUIでシナリオ作るとメンテしづらい ・EC2 ⾼い・・・ 課題
お⾦はかけたくない ⼤量リクエストを⽣成したい もっと簡単に導⼊したい Simple Performance Cost
⚡Artillery⚡
Node.js製のシンプルな負荷テストツール
Artillery scenario YAMLファイルに宣⾔的にシナリオを記述する 60秒間、20⼈の仮想ユーザがリクエスト
EC2 App ⚡Artillery⚡ $ artillery run senario.yml
CloudWatch, DataDog, aws-sigv4 etc..
EC2 App ⚡Artillery⚡ $ artillery run senario.yml
ECS Cluster App ⚡Artillery Pro⚡ $ artillery run senario.yml
Artillery + Lambda
None
serverless-artillery https://github.com/Nordstrom/serverless-artillery
None
InfluxDBに結果を保存、Grafanaで可視化
install deploy invoke remove serverless-artillery $ npm install -g serverless-artillery
$ slsart deploy —stage dev $ slsart invoke —stage dev $ slsart remove
Lambdaだから維持費ゼロ 負荷に応じたオートスケール YAMLによる宣⾔的シナリオ Simple Performance Cost
None
継続的負荷テスト 開発プロセスの早い段階から性能検証を⾏う
Github Developer commits yaml file 継続的負荷テスト CircleCIから負荷テストを実⾏する Invoke loadtest unittest
⚡ Serverless Artillery⚡
Github Developer commits yaml file 継続的負荷テスト unittest CircleCIから負荷テストを実⾏する loadtest Invoke
⚡ Serverless Artillery⚡ 処理が被ったらスキップされる
.circleci/config.yml シンプルなインタフェースで 実⾏できるようにしておく
None
None
プロダクションでは 様々なアクセスが想定される
負荷にランダム性を持たせる
Artillery scenario YAMLファイルに宣⾔的にシナリオを記述する 60秒間、20⼈の仮想ユーザがリクエスト この部分を ランダムに変化させる
シナリオファイルの負荷量を書き換える generateSenario.js duration, arrivalRate, phase数の最⼤・最⼩値だけ指定して ランダムな負荷を⽣成できるようにシナリオファイルを書き換える ChaosEngineering!!
負荷をランダムにする .circleci/config.yml
負荷テスト の 環境下 で アプリケーション を 開発する
App ⚡Serverless Artillery⚡
App ⚡Serverless Artillery⚡ get /todos get /todos/{{ id }} put
/todos/{{ id }} post /todos/{{ id }} delete /todos/{{ id }} TODOリスト アプリケーション https://github.com/serverless/examples/tree/master/aws-node-rest-api-with-dynamodb-and-offline
TODOリスト アプリケーション https://github.com/serverless/examples/tree/master/aws-node-rest-api-with-dynamodb-and-offline serverless examples の Node.js REST API
TODOリスト アプリケーション TODOリストに登録 Responseのjsonに含まれるidの値を保持 idを指定して1件取得 idを指定して1件更新 idを指定して1件削除 Artilleryのシナリオ
結果
キャパシティユニットが全然⾜りない DynamoDB
TODO⼀覧 ソース
全件スキャンになってる!! TODO⼀覧 ソース
AWS X-Ray 監視
PUT DELETE GET POST Lambdaの実⾏単位や DynamoDBへのリクエスト単位で 処理時間を計測
Lambda (cron) GetServiceGraph API Slack AWS X-Ray ALERT 監視 Response
time 4xx (error) 429 (throttling) 5xx (failure)
サーバレス時代 の 負荷テスト戦略 まとめ 宣⾔的シナリオ・低コスト・⾼負荷 継続的負荷テスト・ランダム性 分散トレーシング・監視 ⚡Serverless Artillery⚡ AWS
X-Ray CircleCI
ご静聴ありがとうございました