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
Ludicrous speed
Search
Sergey Vysotskiy
December 09, 2014
Technology
0
38
Ludicrous speed
Fantastic stories about performance requirements
Sergey Vysotskiy
December 09, 2014
Tweet
Share
More Decks by Sergey Vysotskiy
See All by Sergey Vysotskiy
Embracing the Imposter
ggame
0
46
Pressing Play at Spotify
ggame
0
69
Testing for capacity
ggame
2
220
Software Industry 101 (2013 season): Красочный мир тестирования
ggame
0
120
Latency
ggame
1
170
Швейцарский нож для Android
ggame
0
270
Анатомия ошибки
ggame
0
300
Other Decks in Technology
See All in Technology
はじめての転職講座/The Guide of First Career Change
kwappa
0
130
アカデミーキャンプ 2025 SuuuuuuMMeR「燃えろ!!ロボコン」 / Academy Camp 2025 SuuuuuuMMeR "Burn the Spirit, Robocon!!" DAY 1
ks91
PRO
0
140
AIエージェントを現場で使う / 2025.08.07 著者陣に聞く!現場で活用するためのAIエージェント実践入門(Findyランチセッション)
smiyawaki0820
6
1k
LTに影響を受けてテンプレリポジトリを作った話
hol1kgmg
0
360
2時間で300+テーブルをデータ基盤に連携するためのAI活用 / FukuokaDataEngineer
sansan_randd
0
150
金融サービスにおける高速な価値提供とAIの役割 #BetAIDay
layerx
PRO
1
830
専門分化が進む分業下でもユーザーが本当に欲しかったものを追求するプロダクトマネジメント/Focus on real user needs despite deep specialization and division of labor
moriyuya
1
1.3k
o11yツールを乗り換えた話
tak0x00
2
1.2k
AI時代の経営、Bet AI Vision #BetAIDay
layerx
PRO
1
2k
九州の人に知ってもらいたいGISスポット / gis spot in kyushu 2025
sakaik
0
150
大規模イベントに向けた ABEMA アーキテクチャの遍歴 ~ Platform Strategy 詳細解説 ~
nagapad
0
220
Amazon Q Developerを活用したアーキテクチャのリファクタリング
k1nakayama
2
210
Featured
See All Featured
Automating Front-end Workflow
addyosmani
1370
200k
BBQ
matthewcrist
89
9.8k
Measuring & Analyzing Core Web Vitals
bluesmoon
8
550
Being A Developer After 40
akosma
90
590k
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
31
2.5k
Connecting the Dots Between Site Speed, User Experience & Your Business [WebExpo 2025]
tammyeverts
8
440
Designing Experiences People Love
moore
142
24k
Performance Is Good for Brains [We Love Speed 2024]
tammyeverts
10
1k
The Power of CSS Pseudo Elements
geoffreycrofte
77
5.9k
The Illustrated Children's Guide to Kubernetes
chrisshort
48
50k
The Web Performance Landscape in 2024 [PerfNow 2024]
tammyeverts
8
760
Navigating Team Friction
lara
188
15k
Transcript
fantastic stories about performance requirements Ludicrous Speed
None
None
None
None
None
PANIC!
Modern human experimentations
None
None
Big business impact Big response delay
No silver bullets today
Perception of time What happens on internets? What is “OK”
response time? What is “OK” load? Summary PLAN
Perception of time What happens on internets? What is “OK”
response time? What is “OK” load? Summary PLAN
Perception of time What happens on internets? What is “OK”
response time? What is “OK” load? Summary PLAN
Perception of time What happens on internets? What is “OK”
response time? What is “OK” load? Summary PLAN
Perception of time What happens on internets? What is “OK”
response time? What is “OK” load? Summary PLAN
Perception Of Time
100-200 ms 500-1000 ms 2-5 seconds 7-10 seconds instantaneous reaction
uninterrupted reaction some reaction oof…
100-200 ms 500-1000 ms 2-5 seconds 7-10 seconds instantaneous reaction
uninterrupted reaction some reaction oof…
100-200 ms 500-1000 ms 2-5 seconds 7-10 seconds instantaneous reaction
uninterrupted reaction some reaction oof…
100-200 ms 500-1000 ms 2-5 seconds 7-10 seconds instantaneous reaction
uninterrupted reaction some reaction oof…
100-200 ms 500-1000 ms 2-5 seconds 7-10 seconds instantaneous reaction
uninterrupted reaction some reaction oof… *20 years old data
Modern data?
3… may be 5 seconds max
3… may be 5 seconds max Even faster in future
Weber–Fechner law 1 2
Weber–Fechner law 1 2
Weber–Fechner law 1 2
Weber–Fechner law 1 2
Weber–Fechner law 1 2 just noticeable difference (jnd)
Weber–Fechner law just noticeable difference (jnd) For time lengths of
up to 30s - jnd is somewhere between 7% and 18%
Weber–Fechner law Faster Slower
Weber–Fechner law 20s Faster Slower
Weber–Fechner law 20s 24s 16s -20% +20% Faster Slower
“Slightly” faster
Perception of average between t1 and t2 is: sqrt(t1*t2)
Example
Benchmark against 30s 60s less than 36s less than 42s
less than 24s slow same slightly slower faster
Benchmark against 30s 60s less than 36s less than 42s
less than 24s slow same slightly slower faster
Benchmark against 30s 60s less than 36s less than 42s
less than 24s slow same slightly slower faster
Benchmark against 30s 60s less than 36s less than 42s
less than 24s slow same slightly slower definitely faster
Is it worth to optimise? Target performance Unnoticeable degradation
Is it worth to optimise? Target performance Unnoticeable degradation
Is it worth to optimise? Target performance Unnoticeable degradation
Why so serious?
Why so serious?
What Happens on Internets?
None
None
Response time: DNS request Establish TCP connection Generate request to
server Send request to server Server generates response Server sends response Page rendering on browser
Response time: DNS request Establish TCP connection Generate request to
server Send request to server Server generates response Server sends response Page rendering on browser
Response time: DNS request Establish TCP connection Generate request to
server Send request to server Server generates response Server sends response Page rendering on browser
Response time: DNS request Establish TCP connection Generate request to
server Send request to server Server generates response Server sends response Page rendering on browser
Response time: DNS request Establish TCP connection Generate request to
server Send request to server Server generates response Server sends response Page rendering on browser
Response time: DNS request Establish TCP connection Generate request to
server Send request to server Server generates response Server sends response Page rendering on browser
Response time: DNS request Establish TCP connection Generate request to
server Send request to server Server generates response Server sends response Page rendering in a browser
Response time: DNS request Establish TCP connection Generate request to
server Send request to server Server generates response Server sends response Page rendering in a browser
Fun facts! Min time to pass 1/2 of globe: 67ms
Later ;) Server generates response
Let’s talk a bit about that Page rendering in a
browser
In a complex projects 60% of time could be easily
spent on rendering
There’s space to optimise
There’s space to optimise
There’s space to optimise
Time budget: Load and render critical parts first
What Is “OK” Response?
It depends
In general case response longer than 300ms means nobody cares
In general case response longer than 300ms means nobody cares
Usually it’s more than 1 second on a client
It should be fast
It should be fast Bad requirement
It should be faster than 300ms
It should be faster than 300ms Bad requirement
Long tail
95% < 300ms 99% < 500ms
95% < 300ms 99% < 500ms
95% < 300ms 99% < 500ms OK requirement
95% < 300ms 99% < 500ms OK requirement But still
depends
Remember about 20% difference!
Remember to measure competitors!
Oof… Done with time!
Oof… Done with time! There are 1 more to go
What Is “OK” Load?
What measurement units to use?
What is “average user”?
“Average human” have less than 1 arm
Requests Per Second (RPS) is what server understands
How much RPS we should be able to handle?
EXTREMELY HARD QUESTION
Pulse of the Web
Spotify Average Monday in Stockholm
Spotify Specific Monday in Stockholm
None
None
None
None
Spotify Average Monday in Eastern US
Financial Times weekly traffic changes
Financial Times weekly traffic changes Extremely different for different clients
Financial Times weekly traffic changes Extreme daily features
Thanksgiving in US Events could make a big difference
Bombing in Moscow subway 29 march 2010
Bombing in Moscow subway 29 march 2010 First explosion 7:57
Load growth 8:10
Think like a user Look for daily/weakly/yearly cycles
Think like a user Look for daily/weakly/yearly cycles
Event based service? Prepare for extremely huge spikes
Do closed beta And watch for load profile
It’s growing
Very Short Summary
Find out what is OK response time for you Remember
about long tail Find out possible max load Test your assumptions
Find out what is OK response time for you Remember
about long tail Find out possible max load Test your assumptions
Find out what is OK response time for you Remember
about long tail Find out possible max load Test your assumptions
Find out what is OK response time for you Remember
about long tail Find out possible max load Test your assumptions
APPLAUSE
QUESTIONS?
Magic Numbers Some
4 datacenters More than 5K servers ~50 millions of unique
users More than 100 people working on backend infrastructure and operations
DATACENTERS: Ashburn San Jose Stockholm London
QUESTIONS?
Sergey Vysotskiy
[email protected]