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
How to improve the performance of your website ...
Search
Sponsored
·
SiteGround - Reliable hosting with speed, security, and support you can count on.
→
Thijs Feryn
December 08, 2015
Technology
0
340
How to improve the performance of your website - FeWeb15
Web performance talk for FeWeb Congress edition 2015
Thijs Feryn
December 08, 2015
Tweet
Share
More Decks by Thijs Feryn
See All by Thijs Feryn
Caching the uncacheable with Varnish - PHP London 2020
thijsferyn
0
510
Accelerating OTT video platforms with Varnish - London Video Tech meetup 2020
thijsferyn
0
430
't Oncachebare cachen
thijsferyn
0
430
Caching the uncacheable with Varnish - PHP UG FFM 19
thijsferyn
1
900
Developing cacheable PHP applications - PHP Barcelona 2019
thijsferyn
0
710
Caching the uncacheable with Varnish - FullstackEU 2019
thijsferyn
0
530
Varnish beyond basic web acceleration - Symfony Live Berlin 2019
thijsferyn
0
460
Developing cacheable PHP applications
thijsferyn
0
500
Varnish beyond basic web acceleration - DAHO.AM 2019
thijsferyn
0
480
Other Decks in Technology
See All in Technology
Agent Skill 是什麼?對軟體產業帶來的變化
appleboy
0
230
LLMに何を任せ、何を任せないか
cap120
10
5.6k
スピンアウト講座01_GitHub管理
overflowinc
0
1.4k
私がよく使うMCPサーバー3選と社内で安全に活用する方法
kintotechdev
0
110
MCPで決済に楽にする
mu7889yoon
0
110
Phase11_戦略的AI経営
overflowinc
0
1.6k
Laravelで学ぶOAuthとOpenID Connectの基礎と実装
kyoshidaxx
4
1.9k
Amazon Qはアマコネで頑張っています〜 Amazon Q in Connectについて〜
yama3133
1
130
Phase04_ターミナル基礎
overflowinc
0
2.4k
ThetaOS - A Mythical Machine comes Alive
aslander
0
180
やさしいとこから始めるGitHubリポジトリのセキュリティ
tsubakimoto_s
2
1.4k
非同期・イベント駆動処理の分散トレーシングの繋げ方
ichikawaken
1
110
Featured
See All Featured
Getting science done with accelerated Python computing platforms
jacobtomlinson
2
150
Scaling GitHub
holman
464
140k
How to Ace a Technical Interview
jacobian
281
24k
The Curse of the Amulet
leimatthew05
1
10k
How to Think Like a Performance Engineer
csswizardry
28
2.5k
Unlocking the hidden potential of vector embeddings in international SEO
frankvandijk
0
210
The State of eCommerce SEO: How to Win in Today's Products SERPs - #SEOweek
aleyda
2
10k
The Spectacular Lies of Maps
axbom
PRO
1
650
The World Runs on Bad Software
bkeepers
PRO
72
12k
Dominate Local Search Results - an insider guide to GBP, reviews, and Local SEO
greggifford
PRO
0
120
Digital Ethics as a Driver of Design Innovation
axbom
PRO
1
240
Exploring anti-patterns in Rails
aemeredith
2
290
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