Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
How to improve the performance of your website ...
Search
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
Thijs Feryn
PRO
December 08, 2015
Technology
380
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
How to improve the performance of your website - FeWeb15
Web performance talk for FeWeb Congress edition 2015
Thijs Feryn
PRO
December 08, 2015
More Decks by Thijs Feryn
See All by Thijs Feryn
Accelerate Docker Image delivery with Varnish caching
thijsferyn
PRO
0
29
Speed up your CI/CD pipelines by caching build & runtime artifacts
thijsferyn
PRO
0
34
Speed up your CI/CD pipelines by caching build & runtime artifacts
thijsferyn
PRO
0
19
Caching Kubernetes? Introducing the Varnish Gateway Controller for Kubernetes
thijsferyn
PRO
0
28
Caching the uncacheable with Varnish - PHP London 2020
thijsferyn
PRO
0
580
Accelerating OTT video platforms with Varnish - London Video Tech meetup 2020
thijsferyn
PRO
0
510
't Oncachebare cachen
thijsferyn
PRO
0
510
Caching the uncacheable with Varnish - PHP UG FFM 19
thijsferyn
PRO
1
970
Developing cacheable PHP applications - PHP Barcelona 2019
thijsferyn
PRO
0
780
Other Decks in Technology
See All in Technology
大型犬好きによるPugの紹介
yamanoku
1
160
AI導入は済んだ。次は統制を作り替える番だ_AI×開発組織 Summit 2026
techtekt
PRO
0
360
フロントエンドカンファレンス関西2026 - 速すぎるUIに、待ち時間を
teamlab
PRO
0
190
OptunaHub: ブラックボックス最適化のためのプラットフォーム
pfn
PRO
0
140
価値について
gree_tech
PRO
0
100
TinyGoでオブザーバビリティ?OpenTelemetryはTinyGoで使えるのか / Is OpenTelemetry available in TinyGo environment?
ymotongpoo
2
140
今さら理解するウェブフォントver.2026
takanorip
3
900
DGX Spark でどこまでハッキングができるのか?
kash1064
3
1.4k
Rust で関数型ドメインモデリング
takonda
0
170
宣言型部分更新は何を解決しどこへ向かうのか
shuta13
1
470
専門領域のAIをどう評価するか
bengo4com
2
290
Tofu-Controller lightning talk @ Containerday 2026
gionn
0
120
Featured
See All Featured
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
31
3.4k
My Coaching Mixtape
mlcsv
0
360
DevOps and Value Stream Thinking: Enabling flow, efficiency and business value
helenjbeal
2
410
Paper Plane
katiecoart
PRO
5
54k
Navigating the Design Leadership Dip - Product Design Week Design Leaders+ Conference 2024
apolaine
2
480
Build your cross-platform service in a week with App Engine
jlugia
234
19k
Docker and Python
trallard
47
4.2k
Designing for Timeless Needs
cassininazir
1
530
Documentation Writing (for coders)
carmenintech
77
5.6k
Improving Core Web Vitals using Speculation Rules API
sergeychernyshev
21
1.7k
Code Review Best Practice
trishagee
74
20k
The B2B funnel & how to create a winning content strategy
katarinadahlin
PRO
1
570
Transcript
By Thijs Feryn How to improve the performance of your
website
Hi, I’m Thijs
I’m @ThijsFeryn on Twitter
I’m an Evangelist At
I’m a at board member
Web performance is an essential part of the user experience
Infrastructure
Code
Browser rendering
User location
Down Slowdown ~ downtime
Focus on the foundation first
Fast servers
Performance != Scalability
Performance: speed
Scalability: constant speed with increasing load
Add servers to maintain performance
Stability
Code efficiently
Identify slowest part
Optimize database
Optimize runtime
After a while you hit the limits
Don’t recompute if the data hasn’t changed
Cache
Memcached Redis APC
None
Optimize database Optimize runtime A void A void
Don’t recompute if the data hasn’t changed
Varnish
Normally User Server
With Varnish User Varnish Server
Caching in your architecture
Respect HTTP
Cache-control: public, max- age=3600, s-maxage=7200 Cache-control: no-cache, no- store VS
Cookies?
Edge Side Includes
None
Don’t cache header
Cache footer until 31/12/2015 23:59:59
Cache for a day
Cache for an hour
<!DOCTYPE html> <html> <head> <title>The Demo</title> <meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <link rel="stylesheet" href="/css/bootstrap.min.css"> <link rel="stylesheet" href="/css/bootstrap-theme.min.css"> <script src=“/js/jquery-2.1.4.min.js"></script> <script src="/js/bootstrap.min.js"></script> </head> <body> <nav class="navbar navbar-inverse navbar-fixed-top"> <esi:include src=“http://mysite.dev/nav" /> </nav> <div class="jumbotron"> <esi:include src="http://mysite.dev/jumbotron" /> </div> <div class="container"> {% block content %}{% endblock %} <hr> <footer> <esi:include src="http://mysite.dev/footer" /> </footer> </div> </body> </html> ESI tags
Hit rate
Browser rendering
✓Concurrency limitations ✓Slowband, bad mobile connection ✓First byte time ✓Rendering
time ✓Limit resource size ✓Limit resource amount ✓Re-use TCP connections
Compress images, JS & CSS
Combine multiple JS & CSS into one file
Right image size for the right device
Non- blocking Javascript
Google PageSpeed Insights & Web Page Performance Test
User location
Caching in the edge
Content Delivery Network
Faster responses per request
Don’t saturate your own network
None
None
None