×
Copy
Open
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Slide 1
Slide 1 text
#JAWSUG_SRE GraphQL における quota をみながら 負荷試験してみた 2022年9月30日 #04
Slide 2
Slide 2 text
#jawsug_sre 04 自己紹介 三浦一樹(36) #Sauna #Sapporo #HTB #Amplify #StepFunctions #Serverless #AWSSamurai2019 #Marvel #Hinatazaka46 #ANN #PdM #PjM #SM
Slide 3
Slide 3 text
#jawsug_sre 04 SREじゃないんですけど ツイートしたら捕まりましたw
Slide 4
Slide 4 text
数年に1度やってくる 瞬間的な高負荷 スパ イク #JAWSUG_SRE 04
Slide 5
Slide 5 text
#jawsug_sre 04
Slide 6
Slide 6 text
落城
Slide 7
Slide 7 text
#jawsug_sre 04 2021
Slide 8
Slide 8 text
No content
Slide 9
Slide 9 text
#jawsug_sre 04 query mutation 商品データ 10Table ユーザデータ 10Table
Slide 10
Slide 10 text
#jawsug_sre 04 query mutation amplify-cli
Slide 11
Slide 11 text
#jawsug_sre 04 mutation ここがやばい 商品データ 10Table ユーザデータ 10Table
Slide 12
Slide 12 text
クォータ #JAWSUG_SRE 04 リクエスト/s 最適化
Slide 13
Slide 13 text
最初の1クエリで 全データを持ってくる 2022.04.28 〜 2022.03.01 〜
Slide 14
Slide 14 text
#jawsug_sre 04 2022
Slide 15
Slide 15 text
クォータ #JAWSUG_SRE 04 リクエスト/s
Slide 16
Slide 16 text
だと おもってたら
Slide 17
Slide 17 text
変わってた (本番 1週間前)
Slide 18
Slide 18 text
クォータ #JAWSUG_SRE 04 リクエスト トークン /s リクエスト/s ↓
Slide 19
Slide 19 text
とーくん??
Slide 20
Slide 20 text
#JAWSUG_SRE 04 課金制度が変わった時? クォータが変更されたアナウンスは 見つからず、、 くやしいので、 過去のキャッシュを漁って、履歴を確認する
Slide 21
Slide 21 text
#JAWSUG_SRE 04 通常は 1token ってことは、変わらなそうじゃん レスポンスヘッダーの x-amzn-appsync-TokenConsumed を確認してみましょう 冷静にドキュメントを読むんだ、、!
Slide 22
Slide 22 text
x-amzn-appsync-tokenconsumed:50
Slide 23
Slide 23 text
x-amzn- appsync- tokencon sumed: 50
Slide 24
Slide 24 text
No content
Slide 25
Slide 25 text
😴
Slide 26
Slide 26 text
#JAWSUG_SRE 04 2000 リクエスト /s 1ユーザは初期2クエリする 2000 ➗ 2 = 1000 users / s 昔の想定
Slide 27
Slide 27 text
#JAWSUG_SRE 04 2000 リクエスト /s 1ユーザは初期2クエリする 2000 ➗ 2 = 1000 users / s 2000 リクエスト トークン/s 1ユーザは 約 60トークン消費 2000 ➗ 60 ≒ 33 users/ s 昔の想定 実際
Slide 28
Slide 28 text
#JAWSUG_SRE 04 2000 リクエスト /s 1ユーザは初期2クエリする 2000 ➗ 2 = 1000 users / s 2000 リクエスト トークン/s 1ユーザは 約 60トークン消費 2000 ➗ 60 ≒ 33 users/ s 昔の想定 実際 想定の 30分の1 しか耐えられない!
Slide 29
Slide 29 text
怒りのデス・ロード
Slide 30
Slide 30 text
割愛
Slide 31
Slide 31 text
高負荷かけると 消費量が変化する 結論 #JAWSUG_SRE 04
Slide 32
Slide 32 text
#jawsug_sre 04 JMeter から AppSync にクエリなげる CloudWatch logs Insight で頑張って集計する (金額はまぁすごいことに) いろんな負荷のかけ方をしてみた
Slide 33
Slide 33 text
#jawsug_sre 04 JMeter から AppSync にクエリなげる 100 rps 付近から トークン消費が 「1」に漸近する CloudWatch logs Insight で頑張って集計する (金額はまぁすごいことに) いろんな負荷のかけ方を試してみ たところ token consumed/queryのログのcount (それぞれ1秒間のSUM)
Slide 34
Slide 34 text
スパイク前に JMeterで 高負荷かけたれ
Slide 35
Slide 35 text
スパイクが予想される 前に高負荷かけて クエリあたりのトークン 消費量を 大幅に減少させ クォータの制限ないに 収めることができた!! まとめ #JAWSUG_SRE 04
Slide 36
Slide 36 text
基本はオンライン 東京以外はオフライン会場も