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
Surprise! Your app is slow because the speed of...
Search
Clay Smith
March 21, 2016
Programming
0
88
Surprise! Your app is slow because the speed of light is slow.
Ignite talk at Mobile Delivery Days 2016.
Clay Smith
March 21, 2016
Tweet
Share
More Decks by Clay Smith
See All by Clay Smith
Automated Canary Analysis with New Relic
smithclay
1
270
Instrumenting CI Pipelines
smithclay
1
140
Serverless Performance with Headless Chrome
smithclay
0
500
FaaS Measurement Fundamentals
smithclay
7
1.5k
Serverless Measurement Limits
smithclay
1
240
Searching for the Server in Serverless
smithclay
1
1.9k
High Performance iOS Networking, v1.20
smithclay
5
240
HTTP/2: The Weird Parts
smithclay
1
130
High-Performance iOS Networking
smithclay
6
1.2k
Other Decks in Programming
See All in Programming
組み合わせ爆発にのまれない - 責務分割 x テスト
halhorn
1
170
Basic Architectures
denyspoltorak
0
140
はじめてのカスタムエージェント【GitHub Copilot Agent Mode編】
satoshi256kbyte
0
130
JETLS.jl ─ A New Language Server for Julia
abap34
2
470
Findy AI+の開発、運用におけるMCP活用事例
starfish719
0
1.9k
Kotlin Multiplatform Meetup - Compose Multiplatform 외부 의존성 아키텍처 설계부터 운영까지
wisemuji
0
150
HTTPプロトコル正しく理解していますか? 〜かわいい猫と共に学ぼう。ฅ^•ω•^ฅ ニャ〜
hekuchan
2
560
AtCoder Conference 2025「LLM時代のAHC」
imjk
2
610
re:Invent 2025 のイケてるサービスを紹介する
maroon1st
0
160
AIの誤りが許されない業務システムにおいて“信頼されるAI” を目指す / building-trusted-ai-systems
yuya4
6
4.1k
Navigating Dependency Injection with Metro
l2hyunwoo
1
200
ZJIT: The Ruby 4 JIT Compiler / Ruby Release 30th Anniversary Party
k0kubun
1
300
Featured
See All Featured
The SEO identity crisis: Don't let AI make you average
varn
0
40
Improving Core Web Vitals using Speculation Rules API
sergeychernyshev
21
1.3k
CoffeeScript is Beautiful & I Never Want to Write Plain JavaScript Again
sstephenson
162
16k
Lightning Talk: Beautiful Slides for Beginners
inesmontani
PRO
1
410
[Rails World 2023 - Day 1 Closing Keynote] - The Magic of Rails
eileencodes
38
2.7k
Digital Projects Gone Horribly Wrong (And the UX Pros Who Still Save the Day) - Dean Schuster
uxyall
0
110
Self-Hosted WebAssembly Runtime for Runtime-Neutral Checkpoint/Restore in Edge–Cloud Continuum
chikuwait
0
250
Building Applications with DynamoDB
mza
96
6.9k
Code Reviewing Like a Champion
maltzj
527
40k
Making Projects Easy
brettharned
120
6.5k
Visualization
eitanlees
150
16k
SEO Brein meetup: CTRL+C is not how to scale international SEO
lindahogenes
0
2.2k
Transcript
Surprise! Your app is slow because the speed of light.
Clay Smith, New Relic @smithclay Mobile Delivery Days 2016 CC0 wikimedia.org
When you release an app... CC0 pixabay.com
When you get a review like this... "App slow in
the UK. 1 star." -BenedictC CC0 pixabay.com
Who owns mobile app network issues? CC0 pixabay.com Backend/Ops Device/
Mobile Devs "Stuff in the middle we don't control"
Mobile data growth (simplified) Amount of data Now In a
couple years
Global Network Latency in Fiber CC0 pixabay.com Source Destination Great
Circle Distance RT Time in Fiber SFO London 5,375 mi 84 ms SFO Cape Town 10,124 mi 158 ms 1 ms at speed of light = Length of Massachusetts
After one second, your flow of thought is interrupted. CC0
pixabay.com Milliseconds 1 10 100 1000 10000 Not Magic Interrupted Too Late https://www.nngroup.com/articles/response-times-3-important-limits/
App services: more cloud, more complexity CC0 openclipart.org REST API
Auth - IdP #1 Analytics Ad Network Auth - IdP #2
Move it closer? CC0 pixabay.com Datacenter/AZ CDN
CDNs on the Edge CC0 pixabay.com Cache static and dynamic
content + "uncached origin fetch"
#mobileperf Idea CC0 pixabay.com When in doubt, reduce the number
of TCP connections.
TCP: Use it again CC0 pixabay.com Use HTTP keep-alive to
reuse TCP connections.
TCP: Create connections faster CC0 pixabay.com TCP Fast Open can
speed up opening multiple connections.
https://blog.newrelic.com/2016/02/09/http2-best-practices-web-performance/
Weighing HTTP/2 CC0 pixabay.com multiplexing, compression Hard to debug, backend
support?
What dial do we turn (if any)? CC0 pixabay.com
Premature optimization is the source of all evil. -Donald Knuth
in 1974 CC0 pixabay.com Don't touch that dial. (yet)
CC0 pixabay.com Measure often to understand what matters.
CC0 pixabay.com Measure network latency and connect it to U/X
Building connected mobile apps is hard. Monitoring shouldn't be. Thanks!
Clay Smith, New Relic @smithclay Mobile Delivery Days 2016 CC0 wikimedia.org