Web performances : Is It not the right time to (re)consider CMS ?

Post on 16-Apr-2017

1.472 views 1 download

Transcript of Web performances : Is It not the right time to (re)consider CMS ?

Web Performances

Gilles GuirandKaliop CTO

eZ Community Board member

Is It not the right time to (re)consider CMS ?

Who am i ?

Web Performancesa bit of history ?

FIRST GENERATION

eZ3 eZ4(own cache)

endUser

Dynamic cache invalidationAuthenticated cache

Fragmented cacheHigh traffic capability

YESALMOSTYES (blocks)NOOOOO

2003 ~ 2010 : Industry needs rapid website builders

Cache-blocksviewcachesPHP caches

SECOND GENERATION

eZ4(own cache)

endUser

2008 ~ 2012 : Industry faces the high-traffic (rescue strategy)

Dynamic cache invalidationAuthenticated cache

Fragmented cacheHigh traffic capability

NO ( Time To Live )NONO (Full page - static)YES

Static cacheCache-blocks

viewcachesPHP caches

THIRD GENERATION

eZ4+ext.eZ5

(HTTP cache)

endUser

AFTER ~ 2012 : Industry needs hight trafic + auth. users (UX time)

Dynamic cache invalidationAuthenticated cache

Fragmented cacheHigh traffic capability

YES YESYESYES

eZ Accelerator not OSS / no AutheZ5 cache a bit late

Industry tried alternatives

THIRD GENERATION

endUser

after ~ 2012 : Industry tried alternatives (pure PHP FrameWorks)

Dynamic cache invalidationAuthenticated cache

Fragmented cacheHigh traffic capability

YES YESYESYES

THIRD GENERATION after ~ 2012 : Industry tried to combine (best of all worlds)

endUser

eZadmin

UI

Front-endBack-office

Dynamic cache invalidationAuthenticated cache

Fragmented cacheHigh traffic capability

YES YESYESYES

THIRD GENERATION after ~ 2012 : Industry tried to combine (new APIs design patterns)

eZadmin

UI

Dynamic cache invalidationAuthenticated cache

Fragmented cacheHigh traffic capability

YES YESYESYES

RESTAPI

endUser

THIRD GENERATION after ~ 2012 : Industry tried to combine (best of all worlds)

eZadmin

UI

Front-endBack-office

Dynamic cache invalidationAuthenticated cache

Fragmented cacheHigh traffic capability

YES YESYESYES

endUser

So… was better ?

Complexity moved

New playground (minimum)

HTTPcache

New playground for large projects ...

HTTPcache

Static ESI HTTP cacheDynamic purge

Authenticated cache

HEADER

FOOTER

breadcrumb

User profilingContent listContent list

ANONYMOUS

ANONYMOUS

ANONYMOUS

USER GROUP USER

ESI

eZ5 cutting edge

ESI

ESI

ESI

95% HITS

eZ

devOps quiz

NFS

Is there a performance

killer ?

devOps quiz

NFS

YESNetwork

latency to memcached

devOps quiz

Is there a very

commun perf. issue ?ESI fragments

devOps quiz

YESsession lock enabled by default on

PHPESI fragments

devOps quiz

Things better with eZ5 ?

devOps quiz

NOStill generate 80% select as

temporary tables

/tmp > tmpfs (2g)

Legacy database

How do you know ?

Web Performancesmodern investigation

Solr exemple

HAProxy

Replica

SLAVEMASTER

Other Search

Solr exemple

Solr exemple

eZ

modern investigation : Varnish ?

How do i know ifworks as expected ?

HEADER

FOOTER

breadcrumb

User profilingContent listContent list

ANONYMOUS

ANONYMOUS

ANONYMOUS

USER GROUP USER

ESI

eZ5 cutting edge

ESI

ESI

ESI

95% HITS

???

eZ

Maybe one of the _fragment ESI is not cached ? but which one ?

modern investigation : do metrics

Stop command line grep / awk …Install a real log manager

modern investigation : do metrics

modern investigation : do metrics & be lazy

Huge !

modern investigation : learn from metrics

modern investigation : do applicative metrics

??

modern investigation : do metrics, devops & resolve Dev/IT wars ...

??

Learn navigation timing API

You are here

Do RUM metrics & cry ...

Do RUM metrics & cry ...

Do RUM metrics & cry ...

Do RUM metrics & cry ...

Do RUM metrics & cry ...

~20 sec of nothing !?

Do RUM metrics & cry ...

modern investigation : test & simulate everything

Do A/B testing

NFS

A B B

modern investigation : code profiling

modern investigation : Compare before / after deployment

Let me tel a story ...

Backend

Static ESI HTTP cacheDynamic purge

Authenticated cache

HEADER

FOOTER

breadcrumb

User profilingContent listContent list

ANONYMOUS

ANONYMOUS

ANONYMOUS

USER GROUP USER

ESI

A perfect project ...

ESI

ESI

ESI

95% HITS

Backend

95% HITS

95% H

ITS

95% HITS95% H

ITS

A perfect project ...

95% HITS

A perfect project ...

… and ?

Backend

95% HITS

95% H

ITS

95% HITS95% H

ITS

Chine

95% HITS

AUTH

Newsletter

SomewhereHTTP 302

CN/IrlandHTTP 302

CN/IrlandHTTPS 302

SSL

CNCN

Need SSL SSLSmooth

login

?

Tracking

You are here

Newsletter

SomewhereHTTP 302

CN/IrlandHTTP 302

CN/IrlandHTTPS 302

SSL

CNCN

Need SSL SSLSmooth

login

?

Tracking

RUM / METRICS ?No.. Not compatible IE8 & does not follow HTTP 302 RUM

Newsletter

SomewhereHTTP 302

CN/IrlandHTTP 302

CN/IrlandHTTPS 302

SSL

CNCN

Need SSL SSLSmooth

login

?

Tracking

NEWSLETTER SUPPLIERCHINESE SUPPLIERAWS

FRONT-END SUPPLIERANALYTICS SUPPLIER

untraceable ...

Time to experiment ...

Conclusion ?

Time to become agile ...

PerformancedevOps

team

ProductownerAWS

expert

front-endteam

Market.

Metrics

Business

UX Analytics

JS / CSSperfs

?

Web Performances

Gilles GuirandKaliop CTO

eZ Community Board member

Questions to @gandbox ?