Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
GraphQL における quota を見ながら 高負荷試験 してみた
Search
Kazuki Miura
September 30, 2022
Technology
0
910
GraphQL における quota を見ながら 高負荷試験 してみた
#jawsug_sre
AppSync の負荷試験のお話
token って難しいよね
Kazuki Miura
September 30, 2022
Tweet
Share
More Decks by Kazuki Miura
See All by Kazuki Miura
事業会社の未経験エンジニアチームが内製した2つのWebサービスのアーキテクチャを紹介します!
miu_crescent
2
94
本番環境で Cloudflareを 使ってみた話
miu_crescent
2
170
サウナ
miu_crescent
1
37
メールセキュリティの DMARC周りの設定を少しずつ設定してみたお話
miu_crescent
1
300
#jawsdays を含む #jawsug 全体の活動について
miu_crescent
1
96
ラスベガスに招待されて AWSの勉強をしてきた話
miu_crescent
10
4.4k
本番環境でAmplifyを3年くらい使ってみている弊社環境のご紹介
miu_crescent
0
2.2k
もめんと会
miu_crescent
0
300
ECサービスでのStripe実装例
miu_crescent
0
210
Other Decks in Technology
See All in Technology
プロダクトの不具合傾向分析と改善活動について
masayuki_yamad
0
210
Open Source Developer Experience, Platform Engineering and AI-infused Apps - DevTalks Romania
kdubois
0
110
Python Web UIフレームワークのススメ
terapyon
0
260
[JSAI24]Object Segmentation from Open-Vocabulary Manipulation Instructions Based on Optimal Transport Polygon Matching with Multimodal Foundation Models
keio_smilab
PRO
0
120
From Chaos to Clarity: The Power of Refactoring
zikriyeurkmez
0
110
誰も教えてくれない メダリオンアーキテクチャの デザインメソッド
manabian
0
360
静的解析ツールの刷新に向けた取り組み
suginao
1
150
TCPポート使い切り事件
motooka
1
120
よりシンプルになる Svelte の世界
azukiazusa1
5
1.4k
Handling Large Data with Python
topspinj
0
150
継続性視点での開発生産性マネジメント / Managing Engineering Organization in a Strategic Way
sms_tech
10
1.7k
データベース06: SQL (3/3) 副問い合わせ
trycycle
0
120
Featured
See All Featured
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
117
18k
What’s in a name? Adding method to the madness
productmarketing
PRO
17
2.7k
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
41
4.5k
Designing Dashboards & Data Visualisations in Web Apps
destraynor
226
51k
Rails Girls Zürich Keynote
gr2m
91
13k
Building a Modern Day E-commerce SEO Strategy
aleyda
22
6.5k
Agile that works and the tools we love
rasmusluckow
325
20k
Docker and Python
trallard
35
2.8k
Build your cross-platform service in a week with App Engine
jlugia
227
17k
[Rails World 2023 - Day 1 Closing Keynote] - The Magic of Rails
eileencodes
9
1.4k
Building Applications with DynamoDB
mza
88
5.7k
BBQ
matthewcrist
80
8.8k
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
基本はオンライン 東京以外はオフライン会場も