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
E2Eテストから負荷試験シナリオを作ってみた / Why do we make a scena...
Search
mackee
November 11, 2022
Programming
6.4k
3
Share
E2Eテストから負荷試験シナリオを作ってみた / Why do we make a scenario of load testing from E2E testing scenarios
PR TIMES x 面白法人カヤック合同勉強会
mackee
November 11, 2022
More Decks by mackee
See All by mackee
perlをWebAssembly上で動かすと何が嬉しいの??? / Where does Perl-on-Wasm actually make sense?
mackee
0
760
Agentに至る道 〜なぜLLMは自動でコードを書けるようになったのか〜
mackee
6
5.3k
今!ソフトウェアエンジニアがハードウェアに手を出すには
mackee
14
6.7k
ワンバイナリWebサービスのススメ
mackee
10
8.6k
tanukistack ライブコーディング / tanukistack live-coding
mackee
0
550
range over funcの使い道と非同期N+1リゾルバーの夢 / about a range over func
mackee
0
1.1k
perl for shell, awk and sed programmers
mackee
3
2.7k
今更GoのWebフレームワークを作ろうとしているワケ / Why am I trying to create a Go web framework now?
mackee
1
1.1k
database/sqlでNullを扱う歴史とsql.Null[T]の登場 / sql.Null[T] history
mackee
0
970
Other Decks in Programming
See All in Programming
Vibe NLP for Applied NLP
inesmontani
PRO
0
130
飯MCP
yusukebe
0
490
GNU Makeの使い方 / How to use GNU Make
kaityo256
PRO
16
5.6k
生成 AI 時代のスナップショットテストってやつを見せてあげますよ(α版)
ojun9
0
340
一度始めたらやめられない開発効率向上術 / Findy あなたのdotfilesを教えて!
k0kubun
4
2.9k
ファインチューニングせずメインコンペを解く方法
pokutuna
0
280
PCOVから学ぶコードカバレッジ #phpcon_odawara
o0h
PRO
0
250
20260320登壇資料
pharct
0
170
Don't Prompt Harder, Structure Better
kitasuke
0
640
Symfonyの特性(設計思想)を手軽に活かす特性(trait)
ickx
0
130
Kubernetes上でAgentを動かすための最新動向と押さえるべき概念まとめ
sotamaki0421
3
450
Smarter Angular mit Transformers.js & Prompt API
christianliebel
PRO
1
120
Featured
See All Featured
Practical Tips for Bootstrapping Information Extraction Pipelines
honnibal
25
1.8k
Lightning talk: Run Django tests with GitHub Actions
sabderemane
0
160
A Tale of Four Properties
chriscoyier
163
24k
Put a Button on it: Removing Barriers to Going Fast.
kastner
60
4.2k
CSS Pre-Processors: Stylus, Less & Sass
bermonpainter
360
30k
30 Presentation Tips
portentint
PRO
1
270
Connecting the Dots Between Site Speed, User Experience & Your Business [WebExpo 2025]
tammyeverts
11
880
Joys of Absence: A Defence of Solitary Play
codingconduct
1
340
Being A Developer After 40
akosma
91
590k
How to Get Subject Matter Experts Bought In and Actively Contributing to SEO & PR Initiatives.
livdayseo
0
96
Prompt Engineering for Job Search
mfonobong
0
260
We Analyzed 250 Million AI Search Results: Here's What I Found
joshbly
1
1.1k
Transcript
E2Eςετ͔Βෛՙࢼݧγφ ϦΦΛ࡞ͬͯΈͨ @mackee_w a.k.a macopy PR TIMES x ໘ന๏ਓΧϠοΫ߹ಉษڧձ 2022-11-11
19:00
@macopy • ໘ന๏ਓΧϠοΫ eεϙʔπࣄۀ෦ TonamelαʔόαΠυςοΫϦʔυ • Perlେ͖ Go͖ • ISUCON11
༏উ • ISUCON12 ༧બ ग़ • ࠷ۙϋϚ͍ͬͯΔϒΩιΠνϡʔόʔ
Tonamelͷ
ߏ
Client(Nuxt)͕GraphQLΛൃߦͯ͠
֤ϚΠΫϩαʔϏε͕GraphQLΛड͚Δ
ൃ ෛՙࢼݧΛ͍ͨ͠
ͦͷଞ۩ମతͳత
ෛՙࢼݧΛΔͨΊʹ άοζΛ࡞ͬͯΒ͏
εςʔδϯάڥͷߏங
ຊ൪DB͔Βͷίϐʔ https://techblog.kayac.com/automate-initializing-databases-for-staging
k6ಋೖ
thanks! @ebi-yade
ͯ͞ɺͲ͏ͬͯγφϦΦΛॻ͜͏͔
՝: TonamelSPA(ͳϖʔδ͕ଟ͍)
୯७ʹϖʔδΛfetch͢Δͱ NuxtͷΤϯτϦʔϙΠϯτͷHTML͕ ฦͬͯ͘Δ͚ͩ
“ٖࣅతʹຊ൪ΞΫηεʹ͍ۙ"
ҙ: ࠷ॳ͔Β͜ΕΛࢦ͞ͳ͍Ͱʂ • ͜Ε is ʮٖࣅతʹຊ൪ΞΫηεʹ͍ۙʙʯ • ·ͣ `/` ͱ͔ΛF5࿈ଧ͢ΔΑ͏ͳ୯७ͳγφϦΦΛ࡞Γ·͠ΐ͏
• Ͱͳ͍ͱ͍ͭ·ͰܦͬͯϕϯνϚʔΧʔࣗମͷڍಈ֬ೝ͕Ͱ͖ͳ͍ • ͜ͷ࣌Ͱ `/` SPAͰͳ͍ϖʔδͷෛՙࢼݧͬͯΈ͍ͯΔ • ͦͯ͠”ऑ”ݟ͚͍ͭͯΔ…͕͜Ε·ͨผͷ
࡞ઓ1: ۪ʹGraphQLΫΤϦΛॻ͍͍ͯ͘
ײ: େม • ʮ͜Εɺ͔ͯ͠͠ΫϥΠΞϯτଆͷίʔυΛ࠶࣮ͯ͠ͳ͍ʁʁʯ • ΫΤϦ͋Δఔྲྀ༻ग़དྷΔͷͷ(k6JSͳͷͰ)ɺॲཧͱ͔ίϐ ϖ͕͍͠ͷͰΫϥΠΞϯτͷڍಈΛಡΈͳ͕Βॻ͍͍͔ͯ͘͠ແ͍ • ͋ΔఔॲཧΛؙΊΔ(ఘΊΔʁ)ʹͯ͠ɺՃݮ͕͍͠
࡞ઓ2: xk6-browser https://k6.io/docs/javascript-api/xk6-browser/
ʮϒϥβΛ͍ͬͺ͍ฒͯΞΫηε ͠·͘Ε͍͍͡ΌΜʯ
݁Ռ: εέʔϧ͠ͳ͍, ҆ఆͤͣ • ͦͦChromium͔ͩΒͶ • xk6-browserͷ͍ํ͕ѱ͍ͷ͔ɺ҆ఆ͍ͯ͠ͳ͍ͷ͔ɺΤϥʔ͕ग़ ·͘Δ
ʔͲ͏ͨ͠ͷ͔
har-to-k6 https://github.com/grafana/har-to-k6
ϒϥβͷϩά͔Βk6ͷγφϦΦʹม͢Δ܅ • ൃʮϒϥβ͕ॏ͍ ͳΒϒϥβͰϖʔδ ݟͨͱ͖ͷڍಈ͔Βγ φϦΦʹ͢Ε͍͍Μ ͡Όͳ͍ʁʯ • .HARϑΝΠϧ͔Βk6γ φϦΦ(JavaScript)ม
͢Δެࣜπʔϧ
͜ΕͰ՝ײ • ϑϩϯτΤϯυଆͷڍಈʑΊ·͙Δ͘͠มΘͬͯ͠·͏ • ෛՙࢼݧͱͯ͠ɺಛఆͷύε(=ػೳ)ʹΞΫηεͨ͠ͱ͖ͷϒϥβ͔Βͷ ϦΫΤετͷڍಈΛ࠶ݱ͍ͨ͠ • HARΛੜ͢ΔͨΊʹ࠷৽ͷϑϩϯτΤϯυͷڍಈΛ͔͚ͬΔͨΊʹ ChromeͰϙνϙν͢Δͷ͔ʁ •
ਓྗͷਖ਼֬ੑɾਓྗͷखؒ => ໘͔͘͞͞Β͘ΔෛՙࢼݧΕ
.HARΛ࡞ΔͷࣗಈԽ͠·͠ΐ͏
Έ
PlaywrightͰHARΛు͘ίʔυ
݁Ռ: ͍͍ײ͡ͷෛՙΛ͔͚ΒΕͨ
ͦͷଞͷ • HARϕʔεγφϦΦͰଞͷυϝΠϯը૾ʹfetch͠ͳ͍Α͏ʹ͢ΔϑΟϧλ • εςʔδϯάڥͷೝূΛϕϯνϚʔΧʔ͚ͩճආ͢Δํ๏ • AuroraͷPerformance Insights͕ศར, ClusterͷҰ࣌ఀࢭศར •
OGPͰmeta tagʹେձใΛຒΊࠐΜͰ͍Δ͕ͦΕ͕ॏͯ͘໘ന͍ʢ໘ന͘ͳ͍ʣ • SPA͔ͩΒΤϯτϦʔϙΠϯτ͚ͩݟͯҙຯ͕ͳ͍ͱͳΜͩͬͨͷ͔ • ΫΤϦΩϟογϡ͞Μɺࠓ·Ͱ͋Γ͕ͱ͏