WeBB MeetUp#1 Web applications caching techniques

45
MACIEJ ZEND CERTIFIED ENGINEER PROFESSIONAL SCRUM MASTER I WeBB MeetUp #1 02/12/2014 @MaciejGrajcarek TDD/BDD Propagator DDD Explorer Agile Enthusiast Chief Innovation Officer @ Da Vinci Studio GRAJCAREK

Transcript of WeBB MeetUp#1 Web applications caching techniques

Page 1: WeBB MeetUp#1 Web applications caching techniques

MACIEJ

ZEND CERTIFIED ENGINEER PROFESSIONAL SCRUM MASTER I

WeBB MeetUp #102/12/2014

@MaciejGrajcarek

TDD/BDD PropagatorDDD Explorer

Agile Enthusiast

Chief Innovation Officer @ Da Vinci StudioGRAJCAREK

Page 2: WeBB MeetUp#1 Web applications caching techniques

WEB APPLICATIONS CACHING

TECHNIQUES

Page 3: WeBB MeetUp#1 Web applications caching techniques

DBMS AND INDEXES

Page 4: WeBB MeetUp#1 Web applications caching techniques

POPULAR & NEW

Page 5: WeBB MeetUp#1 Web applications caching techniques

it's all about THE speed

Page 6: WeBB MeetUp#1 Web applications caching techniques

WHY BOTHER?

SPEED LEADS TO PAGE RANKPAGE RANK LEADS TO THE NUMBER OF PAGE IMPRESSIONS

PAGE IMPRESSIONS' NUMBER LEADS TO THE CREDITS

Page 7: WeBB MeetUp#1 Web applications caching techniques

EVERY SECOND COUNTS!

https://blog.kissmetrics.com/loading-time/

Page 8: WeBB MeetUp#1 Web applications caching techniques

THE STORY...

Page 9: WeBB MeetUp#1 Web applications caching techniques

OUR HERO

Page 10: WeBB MeetUp#1 Web applications caching techniques

GENIUS!

Page 11: WeBB MeetUp#1 Web applications caching techniques

BASIC SETUP

Page 12: WeBB MeetUp#1 Web applications caching techniques

OPCache / APC

Page 13: WeBB MeetUp#1 Web applications caching techniques

#1 – DESTROY!

Page 14: WeBB MeetUp#1 Web applications caching techniques

POST DEPLOY - opcache_reset()

Page 15: WeBB MeetUp#1 Web applications caching techniques

CHROME ANALYZE (EX PAGE SPEED)

Page speed

Page 16: WeBB MeetUp#1 Web applications caching techniques

mod_expire

<IfModule mod_expires.c> ExpiresActive on ExpiresDefault "access plus 1 month"

# CSS ExpiresByType text/css "access plus 1 year" # Media ExpiresByType image/png "access plus 1 day" ExpiresByType video/webm "access plus 1 month"</IfModule>

Page 17: WeBB MeetUp#1 Web applications caching techniques

#2 – RENAME

Page 18: WeBB MeetUp#1 Web applications caching techniques

AUTOMATION!

Page 19: WeBB MeetUp#1 Web applications caching techniques

TIME FOR A REVOLUTION

Page 20: WeBB MeetUp#1 Web applications caching techniques

SERVES STATIC CONTENT...

Page 21: WeBB MeetUp#1 Web applications caching techniques

…OR EVEN BETTER

Page 22: WeBB MeetUp#1 Web applications caching techniques

DATABASE GETTING SLOWER?

Page 23: WeBB MeetUp#1 Web applications caching techniques

KEY-VALUE CACHE

Page 24: WeBB MeetUp#1 Web applications caching techniques

BUSINESS LOGIC

Page 25: WeBB MeetUp#1 Web applications caching techniques

BASIC CACHE READ-WRITE

Page 26: WeBB MeetUp#1 Web applications caching techniques

HOW WE DO IT

Page 27: WeBB MeetUp#1 Web applications caching techniques

CONFIG

Page 28: WeBB MeetUp#1 Web applications caching techniques

WRITE PROCESS

Page 29: WeBB MeetUp#1 Web applications caching techniques

WRITE PROCESS

Page 30: WeBB MeetUp#1 Web applications caching techniques

FETCH PROCESS

Page 31: WeBB MeetUp#1 Web applications caching techniques

INVALIDATION PROCESS

Page 32: WeBB MeetUp#1 Web applications caching techniques

WET!

Page 33: WeBB MeetUp#1 Web applications caching techniques

A LITTLE BIT OF MAGIC

Page 34: WeBB MeetUp#1 Web applications caching techniques

DRY AGAIN

Page 35: WeBB MeetUp#1 Web applications caching techniques

#3 - THIS IS INVALIDATION!

Page 36: WeBB MeetUp#1 Web applications caching techniques

HTTP PROXY CACHING

Page 37: WeBB MeetUp#1 Web applications caching techniques

WEBPAGES ARE NOT MONOLITS

Page 38: WeBB MeetUp#1 Web applications caching techniques

WEB PAGES ARE COMPLEX

Page 39: WeBB MeetUp#1 Web applications caching techniques

REVERSE PROXY

Page 40: WeBB MeetUp#1 Web applications caching techniques

EXPIRATION VS VALIDATION

Page 41: WeBB MeetUp#1 Web applications caching techniques

DOGPILE EFFECT

Page 42: WeBB MeetUp#1 Web applications caching techniques

OVERWRITE

Page 43: WeBB MeetUp#1 Web applications caching techniques

BONUS

Page 44: WeBB MeetUp#1 Web applications caching techniques

TIPS

#1 CACHE FROM THE BEGINNING#2 OVERWRITE CACHE IF POSSIBLE#3 CACHE SMALL, REUSABLE ELEMENTS#4 BE CAREFUL WITH PRIVATE DATA#5 AUTOMATE!

Page 45: WeBB MeetUp#1 Web applications caching techniques

THANK YOU!ANY QUESTIONS???

@MaciejGrajcarek [email protected]