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
360
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
550
Accelerating OTT video platforms with Varnish - London Video Tech meetup 2020
thijsferyn
0
480
't Oncachebare cachen
thijsferyn
0
470
Caching the uncacheable with Varnish - PHP UG FFM 19
thijsferyn
1
950
Developing cacheable PHP applications - PHP Barcelona 2019
thijsferyn
0
750
Caching the uncacheable with Varnish - FullstackEU 2019
thijsferyn
0
580
Varnish beyond basic web acceleration - Symfony Live Berlin 2019
thijsferyn
0
500
Developing cacheable PHP applications
thijsferyn
0
540
Varnish beyond basic web acceleration - DAHO.AM 2019
thijsferyn
0
540
Other Decks in Technology
See All in Technology
それでも、技術なブログを書く理由 #kichijojipm / Why I Still Write Tech Blogs Even Now
shinkufencer
0
880
副作用のある Lambda でも Lambda Power Tuning は使えるのか / lambda-power-tuning-side-effects
koukihosaka
2
150
2026年のソフトウェア開発を考える(2026/07版) / Agentic Software Engineering 2026-07 Findy Edition
twada
PRO
28
15k
大 AI 時代におけるC# の事情 ~ぶっちゃけトークを交えながら~
nenonaninu
1
200
Git 研修【MIXI 26新卒技術研修】#2
mixi_engineers
PRO
1
210
AIで楽になるはずが、なぜ疲れる?
kinopeee
0
100
AIが当たり前の組織で エンジニアはどう育つか
nishihira
1
1.3k
モバイル研修【MIXI 26新卒技術研修】
mixi_engineers
PRO
1
140
AIコード生成×サプライチェーン攻撃 — PHPが直面する“二重の信頼問題
shinyasaita
0
490
OpenTelemetryにおけるGoのゼロコード・コンパイル時計装について #fukuokago
quiver
0
320
AI時代こそ、スケールしないことをしよう -「作る人」から「なぜ作るか」を考える人へ / Do Things That Don't Scale in the AI Era — From How to Why
kaminashi
1
150
AIエージェントがあれば技術書なんてすぐ書けるでしょ→無理でした
watany
4
450
Featured
See All Featured
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
508
140k
Self-Hosted WebAssembly Runtime for Runtime-Neutral Checkpoint/Restore in Edge–Cloud Continuum
chikuwait
0
660
BBQ
matthewcrist
89
10k
Performance Is Good for Brains [We Love Speed 2024]
tammyeverts
12
1.7k
Balancing Empowerment & Direction
lara
6
1.2k
The Limits of Empathy - UXLibs8
cassininazir
1
550
Thoughts on Productivity
jonyablonski
76
5.3k
Imperfection Machines: The Place of Print at Facebook
scottboms
270
14k
Amusing Abliteration
ianozsvald
1
240
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
34
2.8k
Why Our Code Smells
bkeepers
PRO
340
58k
ラッコキーワード サービス紹介資料
rakko
1
4M
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