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
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
tamappe
August 28, 2019
Technology
600
0
Share
レアジョブアプリでのアクセス負荷で生じたAPI遅延問題を アプリエンジニア視点で対策を考えてみる
tamappe
August 28, 2019
More Decks by tamappe
See All by tamappe
async/awaitの性能をDartとSwiftとの比較で読み解く
tamappe
2
1.9k
商業雑誌に技術記事を寄稿した振り返り
tamappe
3
1.7k
リモートワークでBitriseを導入したときにハマりにハマった話
tamappe
0
330
SwiftUIとFlutterを比較する
tamappe
1
1.5k
そのAlertController 回転ロックできないってよ
tamappe
1
770
Fat Storyboardをリファクタリングしてみた
tamappe
0
370
Swift4.2で追加されたDynamic Member Lookupを使ってみよう
tamappe
0
950
Other Decks in Technology
See All in Technology
【ハノーバーメッセ振り返りイベントat名古屋】データは集約からAI起点の収集に ~組織内・組織間でのデータ連携~
tanakaseiya
0
140
はじめてのDatadog
kairim0
0
170
Javaで学ぶSOLID原則
negima
1
220
オンコールの負荷軽減のためのBits Assistant 活用方法 / How to Use Bits Assistant to Reduce the Workload on On-Call Staff
sms_tech
1
290
RubyでRuby拡張を書いたらRubyより35倍速になったってどういうこと??
kazuho
3
710
TROCCOで始めるクラウドコストを民主化するためのFinOps
tk3fftk
1
260
Java正規表現エンジン(NFA)の仕組みと パフォーマンスを維持するための最適化手法
takeuchi_132917
0
140
大学生が本気でDatabricksを活用してDiscordサークルをデータ駆動させてみた
phantomjuju
0
250
LLM時代のリファクタリング戦略_AIエージェントによる段階的・安全なTS移行方法
play_inc
0
410
地元にいないローカルオーガナイザーの立ち回り
uvb_76
0
100
プラットフォームエンジニア ワークショップ/ platform-workshop
databricksjapan
0
110
ITエンジニアを取り巻く環境とキャリアパス / A career path for Japanese IT engineers
takatama
4
1.8k
Featured
See All Featured
Ruling the World: When Life Gets Gamed
codingconduct
0
240
Winning Ecommerce Organic Search in an AI Era - #searchnstuff2025
aleyda
1
2k
Mobile First: as difficult as doing things right
swwweet
225
10k
Lightning talk: Run Django tests with GitHub Actions
sabderemane
0
190
The Invisible Side of Design
smashingmag
302
52k
Testing 201, or: Great Expectations
jmmastey
46
8.2k
AI Search: Implications for SEO and How to Move Forward - #ShenzhenSEOConference
aleyda
1
1.2k
[RailsConf 2023 Opening Keynote] The Magic of Rails
eileencodes
31
10k
Agile Leadership in an Agile Organization
kimpetersen
PRO
0
160
Leo the Paperboy
mayatellez
7
1.8k
What’s in a name? Adding method to the madness
productmarketing
PRO
24
4k
ラッコキーワード サービス紹介資料
rakko
1
3.4M
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!