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
レアジョブアプリでのアクセス負荷で生じたAPI遅延問題を アプリエンジニア視点で対策を考えてみる
Search
tamappe
August 28, 2019
Technology
0
490
レアジョブアプリでのアクセス負荷で生じたAPI遅延問題を アプリエンジニア視点で対策を考えてみる
tamappe
August 28, 2019
Tweet
Share
More Decks by tamappe
See All by tamappe
async/awaitの性能をDartとSwiftとの比較で読み解く
tamappe
2
1.3k
商業雑誌に技術記事を寄稿した振り返り
tamappe
3
1.4k
リモートワークでBitriseを導入したときにハマりにハマった話
tamappe
0
240
SwiftUIとFlutterを比較する
tamappe
1
1.2k
そのAlertController 回転ロックできないってよ
tamappe
1
630
Fat Storyboardをリファクタリングしてみた
tamappe
0
290
Swift4.2で追加されたDynamic Member Lookupを使ってみよう
tamappe
0
850
Other Decks in Technology
See All in Technology
端末が簡単にリモートから操作されるデモを通じて ソフトウェアサプライチェーン攻撃対策の重要性を理解しよう
kitaji0306
0
170
20241031_AWS_生成AIハッカソン_GenMuck
tsumita
0
110
AWS CDKでデータリストアの運用、どのように設計する?~Aurora・EFSの実践事例を紹介~/aws-cdk-data-restore-aurora-efs
mhrtech
4
650
物価高なラスベガスでの過ごし方
zakky
0
380
プロダクトエンジニアが活躍する環境を作りたくて 事業責任者になった話 ~プロダクトエンジニアの行き着く先~
gimupop
1
480
Oracle Cloud Infrastructureデータベース・クラウド:各バージョンのサポート期間
oracle4engineer
PRO
27
12k
コンテンツを支える 若手ゲームクリエイターの アートディレクションの事例紹介 / cagamefi-game
cyberagentdevelopers
PRO
1
130
AWSコンテナ本出版から3年経った今、もし改めて執筆し直すなら / If I revise our container book
iselegant
15
4k
プロダクト成長に対応するプラットフォーム戦略:Authleteによる共通認証基盤の移行事例 / Building an authentication platform using Authlete and AWS
kakehashi
1
150
「最高のチューニング」をしないために / hack@delta 24.10
fujiwara3
21
3.4k
ガバメントクラウド単独利用方式におけるIaC活用
techniczna
3
270
LeSSに潜む「隠れWF病」とその処方箋
lycorptech_jp
PRO
2
120
Featured
See All Featured
[Rails World 2023 - Day 1 Closing Keynote] - The Magic of Rails
eileencodes
32
1.8k
Being A Developer After 40
akosma
86
590k
The Cost Of JavaScript in 2023
addyosmani
45
6.6k
How to Create Impact in a Changing Tech Landscape [PerfNow 2023]
tammyeverts
46
2.1k
Building an army of robots
kneath
302
42k
The Art of Delivering Value - GDevCon NA Keynote
reverentgeek
7
150
Rebuilding a faster, lazier Slack
samanthasiow
79
8.6k
Gamification - CAS2011
davidbonilla
80
5k
Principles of Awesome APIs and How to Build Them.
keavy
126
17k
Performance Is Good for Brains [We Love Speed 2024]
tammyeverts
3
370
Responsive Adventures: Dirty Tricks From The Dark Corners of Front-End
smashingmag
250
21k
What’s in a name? Adding method to the madness
productmarketing
PRO
22
3.1k
Transcript
ϨΞδϣϒΞϓϦͰͷΞΫηεෛՙ Ͱੜͨ͡APIԆΛ ΞϓϦΤϯδχΞࢹͰରࡦΛߟ͑ ͯΈΔ ۄஔɹ༸ี @tamapppe
None
I N T R O D U C T I
O N ۄஔɹ༸ี Yosuke Tamaoki (32) ϞόΠϧΞϓϦΤϯδχΞ 2014-20193݄·ͰϑϦʔϥϯεͱͯ͠׆ಈ 20194݄ΑΓϨΞδϣϒʹϞόΠϧΞϓϦΤϯδχΞͱͯ͠ೖࣾ झຯ: ήʔϜ(Splatoon2)ɺےτϨɺྉཧ Twitter: https://twitter.com/tamapppe 01
02
Release info 03 ࠷৽ͷϦϦʔεͰiPadͷԣը໘ରԠΛ ϦϦʔε͠·ͨ͠ʂʂ ͥͻແྉମݧͰ͖ΔͷͰΞϓϦ͔Βडߨͯ͠Έ͍ͯͩ͘͞ https://apps.apple.com/jp/app/ϨΞδϣϒӳձ/id1121942360
ຊͷςʔϚ ΫϥΠΞϯτ͔Βݟͨ API௨৴ϦΫΤετԆ
APIԆ 04 ϨΞδϣϒΞϓϦ20 - 30 ͷࣾձਓϢʔβʔ͕ଟ͍ͨΊɺ ฏͷࣄऴΘΓʹϨοεϯΛड͚Δʹ͋Δɻ ಛʹ࠷ۙͰฏͷ݄༵͔Ր༵ͷ21:00 - 23:00ʹAPI௨৴ͷϦΫΤε
τ͕ଟ͘αʔόʔʹෛՙ͕͔͔Γ͗͢ΔͨΊ͔Ϩοεϯ༧ͷAPI͕ ԆؾຯʹͳΔʹ͋Δɻ ࣮ࡍʹ͜ͷ࣌ؒଳʹAPI௨৴ͷϦΫΤετ͕࠷େʹͳ͍ͬͯΔͷͰ ϞόΠϧΞϓϦଆͰରࡦΛ࿅Δඞཁ͕ग़͖ͯͨɻ ฏͷ21:00 - 23:00
Kibana ͰϦΫΤετճΛ֬ೝ 05 03:00 06:00 12:00 15:00 18:00 21:00 09:00
Kibana ͰϦΫΤετճΛ֬ೝ 06 03:00 06:00 12:00 15:00 18:00 21:00 09:00
ϐʔΫλΠϜͷෛՙΛ֬ೝ͢Δͱ 07 ฏৗ࣌ʹରͯ͠ 5ഒ͍ۙϦΫΤετ͕ ϐʔΫ࣌ʹΞϓϦ͔ΒඈͿɻ webͰಉ༷ͷϦΫΤετͷ૿Ճ͕ى͖͍ͯΔ͕ɺฏৗ࣌ͱͷ ͕ࠩΞϓϦಛʹେ͖͔ͬͨɻ ͳͥ͜ΜͳʹΞϓϦ͔ΒϦΫΤετ͕ඈΜͰ͍Δͷ͔ʁʁ
ߨࢣใऔಘAPI Ͳ͏Β͕͜͜ոͦ͠͏ͩ
ߨࢣใऔಘAPIͷ༷ 08 1. ΞϓϦىಈ࣌ʹશͯͷϑΟϦϐϯߨࢣΛऔΔඞཁ͕͋Δ(1000ਓ) 2. ΩϟογϡΛ͍ͬͯͯ༗ޮظݶอଘ͔ͯ͠Β10Ҏ 3. Ωϟογϡ͕͍ͬͯΕΞϓϦDBΛ͏ɺظݶΕͳΒAPI௨ ৴ 4.
Ϩοεϯ༧ͷࡍʹʮߨࢣใʯͱʮߨࢣͷεέδϡʔϧใʯ͕ ඞཁ 5. ߨࢣΫϥε͕ͦΕͧΕͷεέδϡʔϧΫϥεΛอ͍࣋ͯ͠Δ 6. ΞϓϦىಈ࣌ʹ1िؒͷεέδϡʔϧใΛऔಘ͍ͯ͠Δ 7. ଞͷੜెʹઌʹͦͷεέδϡʔϧΛऔΒΕ͍ͯͨΒϨοεϯΛ༧Ͱ ͖ͳ͍ͷͰͰ͖Δ͚ͩʮৗʹ࠷৽ͷεέδϡʔϧʯΛը໘ʹө͞ ͤͳͯ͘ͳΒͳ͍ ࣌ؒͷߜΓࠐΈ ʹͪͷߜΓࠐΈ
ߟ͑ͨରԠ 09 1. ࠶ؼॲཧ͢ΔճΛΒ͢ 2. ϨοεϯΛ༧͍ͯ͠ΔϢʔβʔϨοεϯ ։࢝30લࣗಈతʹAPIΛୟ͔ͳ͍Α͏ʹ ͢Δ 3. ΞϓϦىಈ࣌ʹ1िؒͰͳ͘1୯ҐͰ
ใΛऔಘ͢ΔΑ͏ʹ͢Δ 4. ߜΓࠐΈݕࡧͰશͯͷߨࢣΛऔಘ͢Δ͔Ͳ͏ ͔ΦϓγϣϯΛՃ͢Δ 5. ͦͷଞ
ߦͬͨରԠ 10 2. ϨοεϯΛ༧͍ͯ͠ΔϢʔβʔ Ϩοεϯ։࢝30લࣗಈత ʹAPIΛୟ͔ͳ͍Α͏ʹ͢Δ → ͜ͷΑ͏ͳϢʔβʔ༧ΑΓϨοεϯडߨ͕ϝΠϯͰΞϓϦΛىಈ͢ΔͣͳͷͰ → ࠓͷઃܭʹ͓͍ͯίʔυͷӨڹൣғͱ༷ͷӨڹൣғ͕গͳͦ͏͔ͩΒ
→ UIతʹҰ൪ָ࣮ͦ͏
UI 11 ߨࢣݕࡧAPIͷϘλϯΛஔ͍ͯखಈͰ APIΛୟ͚ΔΑ͏ʹରԠ
ఆରԠલޙͷભҠ 12 Max ࣌ͷ20%ͷճΛݮ
ϑϩϯτΤϯυΤϯδχΞʹͱͬͯͷ APIͷݟ͑ํ 13 1. ۃྗඞཁͳ͍ใͰAPI௨৴Λආ͚Δઃܭʹ͢Δ 2. Ϙλϯ࿈ଧରԠʹؾΛ͚ͭΔ 3. APIଆͷerrorCodeඞͣߟྀ͢Δ 4.
ΞϓϦଆͰྫ֎ॲཧۃྗߦ͏ 5. APIແݶʹ͑Δͷͩͱࢥ͏͕͋ΔͷͰෆඞ ཁʹୟ͔ͳ͍ઃܭΛ৺͕͚Δඞཁ͕͋Δ 6. αʔόʔͷෛՙΛߟྀ͢Δ
݁ 14 ΞϓϦΤϯδχΞͱ͍͑Ͳɺ αʔόʔαΠυͷෛՙΛߟྀͯ͠࠷దͳUIɾUXΛߟ͑Δ ͷ͕ϕετͰ͋Δɻ
Thank you!