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
530
レアジョブアプリでのアクセス負荷で生じたAPI遅延問題を アプリエンジニア視点で対策を考えてみる
tamappe
August 28, 2019
Tweet
Share
More Decks by tamappe
See All by tamappe
async/awaitの性能をDartとSwiftとの比較で読み解く
tamappe
2
1.4k
商業雑誌に技術記事を寄稿した振り返り
tamappe
3
1.5k
リモートワークでBitriseを導入したときにハマりにハマった話
tamappe
0
260
SwiftUIとFlutterを比較する
tamappe
1
1.2k
そのAlertController 回転ロックできないってよ
tamappe
1
660
Fat Storyboardをリファクタリングしてみた
tamappe
0
300
Swift4.2で追加されたDynamic Member Lookupを使ってみよう
tamappe
0
870
Other Decks in Technology
See All in Technology
分解して理解する Aspire
nenonaninu
1
290
The Future of SEO: The Impact of AI on Search
badams
0
200
Building Products in the LLM Era
ymatsuwitter
10
5.5k
Amazon S3 Tablesと外部分析基盤連携について / Amazon S3 Tables and External Data Analytics Platform
nttcom
0
140
エンジニアの育成を支える爆速フィードバック文化
sansantech
PRO
3
1.1k
インフラをつくるとはどういうことなのか、 あるいはPlatform Engineeringについて
nwiizo
5
2.6k
SA Night #2 FinatextのSA思想/SA Night #2 Finatext session
satoshiimai
1
140
人はなぜISUCONに夢中になるのか
kakehashi
PRO
6
1.7k
アジャイル開発とスクラム
araihara
0
170
株式会社EventHub・エンジニア採用資料
eventhub
0
4.3k
CZII - CryoET Object Identification 参加振り返り・解法共有
tattaka
0
380
技術的負債解消の取り組みと専門チームのお話 #技術的負債_Findy
bengo4com
1
1.3k
Featured
See All Featured
For a Future-Friendly Web
brad_frost
176
9.5k
GitHub's CSS Performance
jonrohan
1030
460k
The Pragmatic Product Professional
lauravandoore
32
6.4k
VelocityConf: Rendering Performance Case Studies
addyosmani
328
24k
BBQ
matthewcrist
87
9.5k
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
280
13k
Six Lessons from altMBA
skipperchong
27
3.6k
RailsConf 2023
tenderlove
29
1k
Building Flexible Design Systems
yeseniaperezcruz
328
38k
The Art of Delivering Value - GDevCon NA Keynote
reverentgeek
10
1.3k
Responsive Adventures: Dirty Tricks From The Dark Corners of Front-End
smashingmag
251
21k
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
30
2.2k
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!