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
GraphQL における quota を見ながら 高負荷試験 してみた
Search
Kazuki Miura
PRO
September 30, 2022
Technology
1.2k
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
GraphQL における quota を見ながら 高負荷試験 してみた
#jawsug_sre
AppSync の負荷試験のお話
token って難しいよね
Kazuki Miura
PRO
September 30, 2022
More Decks by Kazuki Miura
See All by Kazuki Miura
Kiro Crewしか勝たん!?
miu_crescent
PRO
0
230
Kiro Crew で始める マルチエージェント開発
miu_crescent
PRO
1
270
Lambdaで動画のエンコードしたら MediaConvertに勝てるのか
miu_crescent
PRO
0
84
AWS Summit 報道現場で磨き上げた、 文字起こしシステムの開発。
miu_crescent
PRO
0
52
報道現場で磨き上げた、 ⽂字起こしシステムの開発
miu_crescent
PRO
0
43
地域のCCoEの拡大を目指す 企業間コミュニティ 「re:light local」について
miu_crescent
PRO
0
88
us-east-1 に障害が起きた時に、 ap-northeast-1 にどんな影響があるか 説明できるようになろう!
miu_crescent
PRO
13
5.4k
これだけはやっておいた方がよさそう?awsにおけるランサムウェア対策
miu_crescent
PRO
1
180
生成AIを活用した音声文字起こしシステムの2つの構築パターンについて
miu_crescent
PRO
4
510
Other Decks in Technology
See All in Technology
FactoryBotアンチパターン / factory_bot anti-patterns
toshimaru
0
140
BedrockとLambdaで作る リアルタイム進行型推理ゲーム
kawametho
0
210
購入ドメインでの課題と取り組み
ykagano
0
150
契約書画像からの情報抽出に特化した視覚接地モデルを育てる話
sansantech
PRO
1
150
宣言型部分更新は何を解決しどこへ向かうのか
shuta13
0
130
オブザーバビリティを高める AI エージェント体験を考える / Designing AI Agent Experiences That Enhance Observability
aoto
PRO
2
320
味覇で作るパスタが美味い - 20261001_yabaubuki.dev
livesense
PRO
0
110
無理せず続ける、子育てエンジニアの学び
codmoninc
PRO
0
480
ai_cording_with_k8s_knowledge.pdf
mochizuki875
1
310
ファミコンでPHPを動かす / PHP on the Famicom side b
tomzoh
0
140
使いこなすために知っておきたい Azure SRE Agent アンチパターン
torumakabe
2
420
脆弱性診断って、何をしているの? 〜弱点を見つけて、会社の改善につなげるまで〜
keeg
0
680
Featured
See All Featured
Fantastic passwords and where to find them - at NoRuKo
philnash
53
4k
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
133
20k
実際に使うSQLの書き方 徹底解説 / pgcon21j-tutorial
soudai
PRO
203
77k
XXLCSS - How to scale CSS and keep your sanity
sugarenia
250
1.3M
Paper Plane (Part 1)
katiecoart
PRO
2
11k
GraphQLとの向き合い方2022年版
quramy
50
15k
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
333
23k
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
52
6.1k
jQuery: Nuts, Bolts and Bling
dougneiner
66
8.6k
Principles of Awesome APIs and How to Build Them.
keavy
128
18k
Building Better People: How to give real-time feedback that sticks.
wjessup
370
20k
Testing 201, or: Great Expectations
jmmastey
46
8.3k
Transcript
#JAWSUG_SRE GraphQL における quota をみながら 負荷試験してみた 2022年9月30日 #04
#jawsug_sre 04 自己紹介 三浦一樹(36) #Sauna #Sapporo #HTB #Amplify #StepFunctions #Serverless
#AWSSamurai2019 #Marvel #Hinatazaka46 #ANN #PdM #PjM #SM
#jawsug_sre 04 SREじゃないんですけど ツイートしたら捕まりましたw
数年に1度やってくる 瞬間的な高負荷 スパ イク #JAWSUG_SRE 04
#jawsug_sre 04
落城
#jawsug_sre 04 2021
None
#jawsug_sre 04 query mutation 商品データ 10Table ユーザデータ 10Table
#jawsug_sre 04 query mutation amplify-cli
#jawsug_sre 04 mutation ここがやばい 商品データ 10Table ユーザデータ 10Table
クォータ #JAWSUG_SRE 04 リクエスト/s 最適化
最初の1クエリで 全データを持ってくる 2022.04.28 〜 2022.03.01 〜
#jawsug_sre 04 2022
クォータ #JAWSUG_SRE 04 リクエスト/s
だと おもってたら
変わってた (本番 1週間前)
クォータ #JAWSUG_SRE 04 リクエスト トークン /s リクエスト/s ↓
とーくん??
#JAWSUG_SRE 04 課金制度が変わった時? クォータが変更されたアナウンスは 見つからず、、 くやしいので、 過去のキャッシュを漁って、履歴を確認する
#JAWSUG_SRE 04 通常は 1token ってことは、変わらなそうじゃん レスポンスヘッダーの x-amzn-appsync-TokenConsumed を確認してみましょう 冷静にドキュメントを読むんだ、、!
x-amzn-appsync-tokenconsumed:50
x-amzn- appsync- tokencon sumed: 50
None
😴
#JAWSUG_SRE 04 2000 リクエスト /s 1ユーザは初期2クエリする 2000 ➗ 2 =
1000 users / s 昔の想定
#JAWSUG_SRE 04 2000 リクエスト /s 1ユーザは初期2クエリする 2000 ➗ 2 =
1000 users / s 2000 リクエスト トークン/s 1ユーザは 約 60トークン消費 2000 ➗ 60 ≒ 33 users/ s 昔の想定 実際
#JAWSUG_SRE 04 2000 リクエスト /s 1ユーザは初期2クエリする 2000 ➗ 2 =
1000 users / s 2000 リクエスト トークン/s 1ユーザは 約 60トークン消費 2000 ➗ 60 ≒ 33 users/ s 昔の想定 実際 想定の 30分の1 しか耐えられない!
怒りのデス・ロード
割愛
高負荷かけると 消費量が変化する 結論 #JAWSUG_SRE 04
#jawsug_sre 04 JMeter から AppSync にクエリなげる CloudWatch logs Insight で頑張って集計する
(金額はまぁすごいことに) いろんな負荷のかけ方をしてみた
#jawsug_sre 04 JMeter から AppSync にクエリなげる 100 rps 付近から トークン消費が
「1」に漸近する CloudWatch logs Insight で頑張って集計する (金額はまぁすごいことに) いろんな負荷のかけ方を試してみ たところ token consumed/queryのログのcount (それぞれ1秒間のSUM)
スパイク前に JMeterで 高負荷かけたれ
スパイクが予想される 前に高負荷かけて クエリあたりのトークン 消費量を 大幅に減少させ クォータの制限ないに 収めることができた!! まとめ #JAWSUG_SRE 04
基本はオンライン 東京以外はオフライン会場も