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
0
290
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
390
Accelerating OTT video platforms with Varnish - London Video Tech meetup 2020
thijsferyn
0
330
't Oncachebare cachen
thijsferyn
0
290
Caching the uncacheable with Varnish - PHP UG FFM 19
thijsferyn
1
610
Developing cacheable PHP applications - PHP Barcelona 2019
thijsferyn
0
570
Caching the uncacheable with Varnish - FullstackEU 2019
thijsferyn
0
430
Varnish beyond basic web acceleration - Symfony Live Berlin 2019
thijsferyn
0
350
Developing cacheable PHP applications
thijsferyn
0
360
Varnish beyond basic web acceleration - DAHO.AM 2019
thijsferyn
0
350
Other Decks in Technology
See All in Technology
AIチャットボット開発への生成AI活用
ryomrt
0
170
オープンソースAIとは何か? --「オープンソースAIの定義 v1.0」詳細解説
shujisado
9
1k
【Startup CTO of the Year 2024 / Audience Award】アセンド取締役CTO 丹羽健
niwatakeru
0
1.1k
誰も全体を知らない ~ ロールの垣根を超えて引き上げる開発生産性 / Boosting Development Productivity Across Roles
kakehashi
1
230
Lambdaと地方とコミュニティ
miu_crescent
2
370
開発生産性を上げながらビジネスも30倍成長させてきたチームの姿
kamina_zzz
2
1.7k
信頼性に挑む中で拡張できる・得られる1人のスキルセットとは?
ken5scal
2
540
なぜ今 AI Agent なのか _近藤憲児
kenjikondobai
4
1.4k
B2B SaaSから見た最近のC#/.NETの進化
sansantech
PRO
0
830
The Role of Developer Relations in AI Product Success.
giftojabu1
0
130
SRE×AIOpsを始めよう!GuardDutyによるお手軽脅威検出
amixedcolor
0
130
rootlessコンテナのすゝめ - 研究室サーバーでもできる安全なコンテナ管理
kitsuya0828
3
390
Featured
See All Featured
How GitHub (no longer) Works
holman
310
140k
We Have a Design System, Now What?
morganepeng
50
7.2k
What's in a price? How to price your products and services
michaelherold
243
12k
The Web Performance Landscape in 2024 [PerfNow 2024]
tammyeverts
0
96
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
29
2.3k
Fireside Chat
paigeccino
34
3k
Put a Button on it: Removing Barriers to Going Fast.
kastner
59
3.5k
Exploring the Power of Turbo Streams & Action Cable | RailsConf2023
kevinliebholz
27
4.3k
The Cost Of JavaScript in 2023
addyosmani
45
6.8k
A Tale of Four Properties
chriscoyier
156
23k
Building a Modern Day E-commerce SEO Strategy
aleyda
38
6.9k
Facilitating Awesome Meetings
lara
50
6.1k
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