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
Thijs Feryn
December 08, 2015
Technology
370
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
December 08, 2015
More Decks by Thijs Feryn
See All by Thijs Feryn
Caching the uncacheable with Varnish - PHP London 2020
thijsferyn
0
560
Accelerating OTT video platforms with Varnish - London Video Tech meetup 2020
thijsferyn
0
480
't Oncachebare cachen
thijsferyn
0
480
Caching the uncacheable with Varnish - PHP UG FFM 19
thijsferyn
1
960
Developing cacheable PHP applications - PHP Barcelona 2019
thijsferyn
0
760
Caching the uncacheable with Varnish - FullstackEU 2019
thijsferyn
0
590
Varnish beyond basic web acceleration - Symfony Live Berlin 2019
thijsferyn
0
510
Developing cacheable PHP applications
thijsferyn
0
550
Varnish beyond basic web acceleration - DAHO.AM 2019
thijsferyn
0
540
Other Decks in Technology
See All in Technology
AI開発に用いられるHPC技術について
gpuunite_official
0
200
型落ちシンクライアント端末のPoEモジュールを自作したかった話
logica0419
0
150
8bit CPU 2026
koba789
6
2.3k
【GCC2026】大規模言語モデルを活用した内製検索サービスの社内展開や業務活用
bandainamcostudios
PRO
0
390
Adding Right-to-Left support to your web application with CSS logical properties — Lessons from Redmine
vividtone
0
160
DatadogのBits Chatが開発組織にもたらしたもの / What Bits Chat Has Brought Us
sms_tech
1
290
平文パスワードはログに“残り” ── 肝心の侵入は“痕跡すら残らない”
kuroneko13
0
120
2027年のMetricKit
kantacky
0
140
Rust×eBPFでEDRっぽいものをつくる
sunlife3
2
690
ソフトウェアサプライチェーンの構造的リスクとコンテナ環境の保護
kyohmizu
5
760
猫付きpingコマンドを自作
uyuki234
0
290
AI-DLC実践録_フルサイクル開発への挑戦
miyuc
0
330
Featured
See All Featured
AI in Enterprises - Java and Open Source to the Rescue
ivargrimstad
0
1.4k
Taking LLMs out of the black box: A practical guide to human-in-the-loop distillation
inesmontani
PRO
3
2.4k
The Curse of the Amulet
leimatthew05
2
14k
Deep Space Network (abreviated)
tonyrice
0
260
SEO Brein meetup: CTRL+C is not how to scale international SEO
lindahogenes
1
2.8k
WENDY [Excerpt]
tessaabrams
11
39k
Joys of Absence: A Defence of Solitary Play
codingconduct
1
440
Crafting Experiences
bethany
1
260
Writing Fast Ruby
sferik
630
63k
What's in a price? How to price your products and services
michaelherold
247
13k
The Curious Case for Waylosing
cassininazir
1
470
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
31
2.9k
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