SlideShare una empresa de Scribd logo
1 de 25
Descargar para leer sin conexión
1401 Avenue du Mondial 98 
Immeuble Oxygène 
34000 Montpellier 
04 99 13 68 60 
How to deploy & 
optimize eZ Publish 
high-traffic / bigdata context 
1 KALIOP.COM
Critical issues : Critical mass : Complexity to solve : 
Big Data ? 
Peak loads ? 
Transactions ? 
(import – export - REST) 
User profiling ? 
(auth – settings – peruser 
> 5 M pages / vues / mois Replicated ? 
Le 
09/10/2 
High traffic ? Huge volume ? 
2 
High-traffic ? 
Exemples 
> 5 M pages / vues / mois 
UI) 
550000KK ++ uusseerr//ddaayy 
1M+ datas 
+200% 
100k transact./day 
50%+ authenticated 
(portal features) 
+ 
+ 
++ 
++ 
+++ 
Exemples 
(PRA – Worldwide cloud) 
2+ ++++
Do not focus solely on technical 
expertise ! 
Le 
09/10/2 
Keys of success 
3 
Web Architect / 
SCRUM Master 
Exemples 
Project management 
> 5 M pages / vues / mois 
approach 
Web Architect / 
SCRUM Master 
Technical expertise Tools
Project management 
Role of the Web Architect : Never stop to (re)design. Arbitrate & find 
workarounds for all the contradictory issues : UX, front-end, performances, dev, 
hosting, delay, cost, stability, SEO, marketing operations... 
Role of the project manager (or SCRUM Master) : Protect the team. 
Understand, explain & make the POC possible , code refactoring, continuous 
integration & devOps 
Role of the project owner : Build the team & be clear on the KPIs 
Exemple : possible to challenge the UX ? (VS performances) 
Exemple : ready to work without a Gantt ? (VS kanban) 
Le 
09/10/2 
Keys of success / PM approach 
4 
approach 
Exemples 
> 5 M pages / vues / mois
Le 
09/10/2 
Keys of success / PM approach 
5 
Tools 
Monitoring : complexity to monitor all the stack 
(in most cases, only on low level services, not on PHP / slow queries) 
Metrics : complexity to have metrics on all the the stack 
(in most cases, only on low level services, or end-users trafic) 
Deployment tools : the easier it is, the more consuming it is 
(in most cases, copy the files & purge the cache...) 
Testing : complexity to automate unit testing / user testing 
(in most cases... nothing)
Le 
09/10/2 
Keys of success / Technical expertise 
6 
Technical expertise 
(not only eZ) 
FPM 
Fast 
CGI 
APC 
And more...
Le 
09/10/2 
Keys of success / Technical expertise 
Médias (copy) 
7 
eZ FS2 StaleCache 
INI 
Templates 
Médias 
Viewcache 
Template-block 
HTTP Caches 
ESI 
++++ 
Easy to host 
Save ressources 
Easy to setup/switch 
StaleCache 
Simplify the deployment process 
---- 
High NFS activity 
Require top-level ($$$) NFS 
Require an high eZ quality dev 
Require frequent purges 
APC APC APC 
Stale Cache 
( no flock )
Le 
09/10/2 
Keys of success / Technical expertise 
Médias (copy) 
8 
eZ DFS Cluster 
INI 
Templates 
Cache (copy) 
INI 
Templates 
Cache (copy) 
INI 
Templates 
Cache (copy) 
HTTP Caches 
ESI 
APC APC APC 
EZ DFS 
Médias 
Viewcache 
Template-block 
... 
META DATA 
++++ 
Compatible with most of platforms 
Low NFS activity 
Easy to setup/switch 
StaleCache 
---- 
Waste of ressources 
ClusterDB bottleneck 
Complex deployment process 
Require an high eZ quality dev 
Require frequent purges
Le 
09/10/2 
Keys of success / Technical expertise 
9 
DevOps mode 
Do not expect the hosting architecture (sizing) to make up 
for the application issues... 
Do not expect the development (hack, trick) to make up 
for the hosting architecture issues...
Le 
09/10/2 
Keys of success / Technical expertise 
10 
DevOps mode 
(expertise in the middle) 
APC 
apc.filters = "-cache.*.php" 
(exlude compiled templates) 
MySql 
tmpdir → tmpfs (avoid « on disk » storage) 
Add missing indexes (remote_id) 
Solr 
Split read/write operations 
Varnish 
Synchronize with eZ (x-node pruge) 
APC
Le 
09/10/2 
Keys of success / Technical expertise 
11 
OpteiZm Pizueb yloisuhr code 
(what you can deduce) 
Reduce the 
Cache-block activity 
& volume 
Optimize the 
viewcache 
activity 
Remove 
Useless SQL 
Use small range keys 
Set an expiry value 
Use ezpagedata() instead 
Replace with ESI 
No more than 1K files ! 
Avoid too many view parameters 
Optimize smartviewcache 
Synchronize with Varnish 
Replace with Solr 
Use PHP cache 
Optimize Avoid datamap load 
Solr 
Schedule your 
background 
tasks 
split read / write activities 
Delay « commit » (not only index)
Le 
09/10/2 
Keys of success / Technical expertise 
12 
OpteiZm Pizueb yloisuhr code 
(read tutos)
Le 
09/10/2 
Keys of success / Technical expertise 
13 
OpteiZm Pizueb yloisuhr code 
(Learn how it works) 
Basic optimization : 
DelayedIndexing = true (→ will not delay hard commits for all actions ! ) 
OptimizeOnCommit = disabled 
CRON // ezfoptimizeindex (3 minutes) 
CRON // ezfindexcontent (1 day) 
Medium optimization : 
OptimizeOnCommit = disabled 
DisableDeleteCommits = true (+ CRON to commit) 
DisableDirectCommits=true (+ CRON to commit) 
CRON // bin/php/ezsolrcommit.php (3 minutes) 
CRON // ezfoptimizeindex (1 day) 
Other great optimizations : 
- Replicate Solr, and split the Read (search..) / Write (commit, optimize), to avoid concurrencies 
- Avoid hard commits (soft commits to avoid fsync ops, commitWithin to delay pending docs within Solr) 
addDoc Hard Commit (rebuild indexes + fsync) 
Soft Commit (rebuild indexes) 
CommitWithin (commit all pending docs within X secs)
Le 
09/10/2 
Keys of success / Technical expertise 
14 
Optimize your code 
(Get metrics) 
(what you can not guess) 
APC 
EZ DFS 
META DATA 
GET 
METRICS
Le 
09/10/2 
Keys of success / Technical expertise 
15 
Optimize your code 
(Get metrics) 
(what you can not guess) 
Why session_start 
lock ??? 
eZ Bug on the 
checkValidity=false setting... 
will always create a 
session_start on the index.php
Le 
09/10/2 
Keys of success / Technical expertise 
16 
Optimize your code 
(Get metrics) 
(what you can not guess) 
Why a unique table 
insert needs 9,6 
sec ??? 
Server side tuning requested 
(memory, table optimize, host 
the clusterDB on another 
server...)
Le 
09/10/2 
Keys of success / Technical expertise 
17 
Optimize your code 
(Get metrics) 
(what you can not guess) 
Why my code 
provides 1988 
cURL calls ??? 
Mmhh... 
How to say... 
NEXT
Critical issues : Critical mass : Complexity to solve : 
Big Data ? 
Peak loads ? 
Transactions ? 
(import – export - REST) 
User profiling ? 
(auth – settings – peruser 
> 5 M pages / vues / mois Replicated ? 
Le 
09/10/2 
Enough to resolve the following context ? 
18 
High-traffic ? 
Exemples 
> 5 M pages / vues / mois 
UI) 
550000KK ++ uusseerr//ddaayy 
1M+ datas 
+200% 
100k transact./day 
50%+ authentifié 
(portal features) 
+ 
+ 
++ 
++ 
+++ 
Exemples 
(PRA – Worldwide cloud) 
2+ ++++
Externalize the user database (if too big) 
Build a full ESI front-end (pure HTTP cache logical) 
Replace the DB cluster with Redis or memcached 
Externalize medias on CDN 
Use a custom PHP Cache (exemple) 
Use messaging tools 
Build POC with docker 
Build custom metrics tools 
... 
Le 
09/10/2 
Enough to resolve the following context ? 
19 
NO ! Be creative !
Le 
09/10/2 
Enough to resolve the following context ? 
20 
Be creative ! 
Object.datamap → PHP array 
PHP cache file (eZPHPCreator) 
On publish 
Store all the attributes 
Pre-generate related values 
On read 
Read object 
datamap 
Fetch, filter, 
facet, sort.. 
HTML
Le 
09/10/2 
Enough to resolve the following context ? 
21 
Be creative ! 
Custom metrics 
tools
Le 
09/10/2 
Ready for eZ5 ? 
22 
Ready for eZP5... 
Native HTTP Cache 
Native Storage abstraction 
Native pure MVC 
Native ESI support 
… 
Full Symfony stack
Le 
09/10/2 
Ready for eZ5 ? HTTP Cache 
Twig compiled templates 
Routing 
service container 
translations... 
23 
Persistence cache 
User 
GET / 
200 OK 
Age : 100 
Cache-control: 
Maxage=300 
X-Location-Id:2 
X-Location-Id:{nodeID} 
Vary: X-User-Hash 
eZ 
expired 
HTTP Cache 
PROD 
DEV 
Clear on 
Viewcache 
event
Le 
09/10/2 
Ready for eZ5 ? ESI logical 
24 
HEADER 
SLIDER 
FOOTER 
LAST 
NEWS 
LAST 
COMMENTS 
USER 
SELECTION 
FAVORITES 
TOPICS 
ESI key : Shared content 
Expiry ? 1 day TTL 
ESI key : Shared content 
Expiry ? Long TTL + Dynamic, on change 
ESI key : Per user content 
Expiry ? Long TTL + Dynamic, on change 
ESI key : Shared content 
Expiry ? 5 min TTL 
ESI key : Per topics 
Expiry ? Long TTL + Dynamic, on change 
ESI key : Shared content 
Expiry ? 1 day TTL 
LAST 
Tweets 
AJAX
1401 Avenue du Mondial 98 
Immeuble Oxygène 
34000 Montpellier 
04 99 13 68 60 
How to deploy & 
optimize eZ Publish 
high-traffic / bigdata context 
Question ? 
25KALIOP.COM

Más contenido relacionado

La actualidad más candente

Workshop eZ Publish Caching Mechanisms
Workshop eZ Publish Caching MechanismsWorkshop eZ Publish Caching Mechanisms
Workshop eZ Publish Caching Mechanisms
Kaliop-slide
 
Caching for Cash: Benchmarking and Profiling
Caching for Cash: Benchmarking and ProfilingCaching for Cash: Benchmarking and Profiling
Caching for Cash: Benchmarking and Profiling
Scott MacVicar
 
Caching for Cash: Caching
Caching for Cash: CachingCaching for Cash: Caching
Caching for Cash: Caching
Scott MacVicar
 
WordPress Performance & Scalability
WordPress Performance & ScalabilityWordPress Performance & Scalability
WordPress Performance & Scalability
Joseph Scott
 

La actualidad más candente (20)

eZ Publish Platform 5.4 public webinar
eZ Publish Platform 5.4 public webinareZ Publish Platform 5.4 public webinar
eZ Publish Platform 5.4 public webinar
 
Workshop eZ Publish Caching Mechanisms
Workshop eZ Publish Caching MechanismsWorkshop eZ Publish Caching Mechanisms
Workshop eZ Publish Caching Mechanisms
 
Learnings from Real eZ Publish 5 Projects
Learnings from Real eZ Publish 5 ProjectsLearnings from Real eZ Publish 5 Projects
Learnings from Real eZ Publish 5 Projects
 
Realtime with-websockets-2015
Realtime with-websockets-2015Realtime with-websockets-2015
Realtime with-websockets-2015
 
Java7 - Top 10 Features
Java7 - Top 10 FeaturesJava7 - Top 10 Features
Java7 - Top 10 Features
 
My Database Skills Killed the Server
My Database Skills Killed the ServerMy Database Skills Killed the Server
My Database Skills Killed the Server
 
php & performance
 php & performance php & performance
php & performance
 
Tomcat next
Tomcat nextTomcat next
Tomcat next
 
Caching for Cash: Benchmarking and Profiling
Caching for Cash: Benchmarking and ProfilingCaching for Cash: Benchmarking and Profiling
Caching for Cash: Benchmarking and Profiling
 
SIP Server Optimizations for Mobile Networks
SIP Server Optimizations for Mobile NetworksSIP Server Optimizations for Mobile Networks
SIP Server Optimizations for Mobile Networks
 
Lumen
LumenLumen
Lumen
 
Locking Down CF Servers
Locking Down CF ServersLocking Down CF Servers
Locking Down CF Servers
 
Caching for Cash: Caching
Caching for Cash: CachingCaching for Cash: Caching
Caching for Cash: Caching
 
How we Started with eZ publish 5 a Real Use Case
How we Started with eZ publish 5 a Real Use CaseHow we Started with eZ publish 5 a Real Use Case
How we Started with eZ publish 5 a Real Use Case
 
WordPress Performance & Scalability
WordPress Performance & ScalabilityWordPress Performance & Scalability
WordPress Performance & Scalability
 
Kamailio - Unifying SIP and Web Worlds with Lua
Kamailio - Unifying SIP and Web Worlds with LuaKamailio - Unifying SIP and Web Worlds with Lua
Kamailio - Unifying SIP and Web Worlds with Lua
 
JugTAAS ReSTful
JugTAAS ReSTfulJugTAAS ReSTful
JugTAAS ReSTful
 
Hacking Tomcat
Hacking TomcatHacking Tomcat
Hacking Tomcat
 
The Integration of Laravel with Swoole
The Integration of Laravel with SwooleThe Integration of Laravel with Swoole
The Integration of Laravel with Swoole
 
Hack & Fix, Hands on ColdFusion Security Training
Hack & Fix, Hands on ColdFusion Security TrainingHack & Fix, Hands on ColdFusion Security Training
Hack & Fix, Hands on ColdFusion Security Training
 

Similar a How to deploy & optimize eZ Publish (2014)

CharlesSweetResume06155122015
CharlesSweetResume06155122015CharlesSweetResume06155122015
CharlesSweetResume06155122015
Charlie Sweet
 

Similar a How to deploy & optimize eZ Publish (2014) (20)

Caching and tuning fun for high scalability
Caching and tuning fun for high scalabilityCaching and tuning fun for high scalability
Caching and tuning fun for high scalability
 
Building Hopsworks, a cloud-native managed feature store for machine learning
Building Hopsworks, a cloud-native managed feature store for machine learning Building Hopsworks, a cloud-native managed feature store for machine learning
Building Hopsworks, a cloud-native managed feature store for machine learning
 
Eranea's solution and technology for mainframe migration / transformation : d...
Eranea's solution and technology for mainframe migration / transformation : d...Eranea's solution and technology for mainframe migration / transformation : d...
Eranea's solution and technology for mainframe migration / transformation : d...
 
Lotus Domino 8.5
Lotus Domino 8.5Lotus Domino 8.5
Lotus Domino 8.5
 
Normalizing x pages web development
Normalizing x pages web development Normalizing x pages web development
Normalizing x pages web development
 
Caching and tuning fun for high scalability @ FrOSCon 2011
Caching and tuning fun for high scalability @ FrOSCon 2011Caching and tuning fun for high scalability @ FrOSCon 2011
Caching and tuning fun for high scalability @ FrOSCon 2011
 
Migrating the elastic stack to the cloud, or application logging @ travix
 Migrating the elastic stack to the cloud, or application logging @ travix Migrating the elastic stack to the cloud, or application logging @ travix
Migrating the elastic stack to the cloud, or application logging @ travix
 
SfDay 2019: Head first into Symfony Cache, Redis & Redis Cluster
SfDay 2019: Head first into Symfony Cache, Redis & Redis ClusterSfDay 2019: Head first into Symfony Cache, Redis & Redis Cluster
SfDay 2019: Head first into Symfony Cache, Redis & Redis Cluster
 
Caching and tuning fun for high scalability
Caching and tuning fun for high scalabilityCaching and tuning fun for high scalability
Caching and tuning fun for high scalability
 
Fluentd - RubyKansai 65
Fluentd - RubyKansai 65Fluentd - RubyKansai 65
Fluentd - RubyKansai 65
 
The Web Scale
The Web ScaleThe Web Scale
The Web Scale
 
Making it fast: Zotonic & Performance
Making it fast: Zotonic & PerformanceMaking it fast: Zotonic & Performance
Making it fast: Zotonic & Performance
 
Clug 2011 March web server optimisation
Clug 2011 March  web server optimisationClug 2011 March  web server optimisation
Clug 2011 March web server optimisation
 
When dynamic becomes static : the next step in web caching techniques
When dynamic becomes static : the next step in web caching techniquesWhen dynamic becomes static : the next step in web caching techniques
When dynamic becomes static : the next step in web caching techniques
 
CharlesSweetResume06155122015
CharlesSweetResume06155122015CharlesSweetResume06155122015
CharlesSweetResume06155122015
 
Kentico CMS: A Case Study in Building for Today’s Web
Kentico CMS: A Case Study in Building for Today’s WebKentico CMS: A Case Study in Building for Today’s Web
Kentico CMS: A Case Study in Building for Today’s Web
 
In-Memory Database Performance on AWS M4 Instances
In-Memory Database Performance on AWS M4 InstancesIn-Memory Database Performance on AWS M4 Instances
In-Memory Database Performance on AWS M4 Instances
 
Automated Application Management with SaltStack
Automated Application Management with SaltStackAutomated Application Management with SaltStack
Automated Application Management with SaltStack
 
Meetup Performance
Meetup PerformanceMeetup Performance
Meetup Performance
 
Meetup Performance
Meetup PerformanceMeetup Performance
Meetup Performance
 

Más de Kaliop-slide

LE RESPONSIVE WEBDESIGN : VOTRE VISIBILITÉ WEB OPTIMALE SUR TOUS LES SUPPORTS...
LE RESPONSIVE WEBDESIGN : VOTRE VISIBILITÉ WEB OPTIMALE SUR TOUS LES SUPPORTS...LE RESPONSIVE WEBDESIGN : VOTRE VISIBILITÉ WEB OPTIMALE SUR TOUS LES SUPPORTS...
LE RESPONSIVE WEBDESIGN : VOTRE VISIBILITÉ WEB OPTIMALE SUR TOUS LES SUPPORTS...
Kaliop-slide
 
Redeploiement d’une plateforme eZpublish multisites internationale
Redeploiement d’une plateforme eZpublish multisites internationaleRedeploiement d’une plateforme eZpublish multisites internationale
Redeploiement d’une plateforme eZpublish multisites internationale
Kaliop-slide
 

Más de Kaliop-slide (20)

E z conference 2016 : The Next Generation of Innovative Applications: Powere...
E z conference 2016  : The Next Generation of Innovative Applications: Powere...E z conference 2016  : The Next Generation of Innovative Applications: Powere...
E z conference 2016 : The Next Generation of Innovative Applications: Powere...
 
L'agilité au service de l'innovation
L'agilité au service de l'innovationL'agilité au service de l'innovation
L'agilité au service de l'innovation
 
[webinar du 26/02/2015] Magento / Prestashop : bien choisir sa solution e-com...
[webinar du 26/02/2015] Magento / Prestashop : bien choisir sa solution e-com...[webinar du 26/02/2015] Magento / Prestashop : bien choisir sa solution e-com...
[webinar du 26/02/2015] Magento / Prestashop : bien choisir sa solution e-com...
 
[Webinar du 6/11/2014] Réussir son projet E-commerce en mode agile
[Webinar du 6/11/2014] Réussir son projet E-commerce en mode agile[Webinar du 6/11/2014] Réussir son projet E-commerce en mode agile
[Webinar du 6/11/2014] Réussir son projet E-commerce en mode agile
 
[Webinar du 17/06/2014] Bien intégrer sa boutique e-Commerce à son système d'...
[Webinar du 17/06/2014] Bien intégrer sa boutique e-Commerce à son système d'...[Webinar du 17/06/2014] Bien intégrer sa boutique e-Commerce à son système d'...
[Webinar du 17/06/2014] Bien intégrer sa boutique e-Commerce à son système d'...
 
L’amélioration continue de votre environnement de travail et de votre entrepr...
L’amélioration continue de votre environnement de travail et de votre entrepr...L’amélioration continue de votre environnement de travail et de votre entrepr...
L’amélioration continue de votre environnement de travail et de votre entrepr...
 
Ezobject wrapper workshop
Ezobject wrapper workshopEzobject wrapper workshop
Ezobject wrapper workshop
 
Comment créer, optimiser et monétiser vos contenus ?
Comment créer, optimiser et monétiser vos contenus ?Comment créer, optimiser et monétiser vos contenus ?
Comment créer, optimiser et monétiser vos contenus ?
 
Web performance optimization
Web performance optimizationWeb performance optimization
Web performance optimization
 
Utilisation d’eZ Flow sur le site www.kaliop.fr
Utilisation d’eZ Flow sur le site www.kaliop.frUtilisation d’eZ Flow sur le site www.kaliop.fr
Utilisation d’eZ Flow sur le site www.kaliop.fr
 
Webinar e-tourisme : Créer une expérience utilisateur riche grâce à eZ Publish
Webinar e-tourisme : Créer une expérience utilisateur riche grâce à eZ PublishWebinar e-tourisme : Créer une expérience utilisateur riche grâce à eZ Publish
Webinar e-tourisme : Créer une expérience utilisateur riche grâce à eZ Publish
 
Bien choisir sa solution e-commerce
Bien choisir sa solution e-commerceBien choisir sa solution e-commerce
Bien choisir sa solution e-commerce
 
Webinar : ezpublish pour vos projets e-tourisme
Webinar : ezpublish pour vos projets e-tourismeWebinar : ezpublish pour vos projets e-tourisme
Webinar : ezpublish pour vos projets e-tourisme
 
Optimisez vos flux commerciaux avec la marketing automation
Optimisez vos flux commerciaux avec la marketing automationOptimisez vos flux commerciaux avec la marketing automation
Optimisez vos flux commerciaux avec la marketing automation
 
Tour de Contrôle (Kaliop E-Commerce Dataflow System)
Tour de Contrôle (Kaliop E-Commerce Dataflow System)Tour de Contrôle (Kaliop E-Commerce Dataflow System)
Tour de Contrôle (Kaliop E-Commerce Dataflow System)
 
LE RESPONSIVE WEBDESIGN : VOTRE VISIBILITÉ WEB OPTIMALE SUR TOUS LES SUPPORTS...
LE RESPONSIVE WEBDESIGN : VOTRE VISIBILITÉ WEB OPTIMALE SUR TOUS LES SUPPORTS...LE RESPONSIVE WEBDESIGN : VOTRE VISIBILITÉ WEB OPTIMALE SUR TOUS LES SUPPORTS...
LE RESPONSIVE WEBDESIGN : VOTRE VISIBILITÉ WEB OPTIMALE SUR TOUS LES SUPPORTS...
 
Redeploiement d’une plateforme eZpublish multisites internationale
Redeploiement d’une plateforme eZpublish multisites internationaleRedeploiement d’une plateforme eZpublish multisites internationale
Redeploiement d’une plateforme eZpublish multisites internationale
 
CJW Newsletter
CJW NewsletterCJW Newsletter
CJW Newsletter
 
CHALLENGE Ez On tour, outil de publication web pour le e-tourisme
CHALLENGE Ez On tour, outil de publication web pour le e-tourismeCHALLENGE Ez On tour, outil de publication web pour le e-tourisme
CHALLENGE Ez On tour, outil de publication web pour le e-tourisme
 
L'approche affinitaire : un levier marketing efficace pour les acteurs du e-t...
L'approche affinitaire : un levier marketing efficace pour les acteurs du e-t...L'approche affinitaire : un levier marketing efficace pour les acteurs du e-t...
L'approche affinitaire : un levier marketing efficace pour les acteurs du e-t...
 

Último

哪里办理美国迈阿密大学毕业证(本硕)umiami在读证明存档可查
哪里办理美国迈阿密大学毕业证(本硕)umiami在读证明存档可查哪里办理美国迈阿密大学毕业证(本硕)umiami在读证明存档可查
哪里办理美国迈阿密大学毕业证(本硕)umiami在读证明存档可查
ydyuyu
 
原版制作美国爱荷华大学毕业证(iowa毕业证书)学位证网上存档可查
原版制作美国爱荷华大学毕业证(iowa毕业证书)学位证网上存档可查原版制作美国爱荷华大学毕业证(iowa毕业证书)学位证网上存档可查
原版制作美国爱荷华大学毕业证(iowa毕业证书)学位证网上存档可查
ydyuyu
 
pdfcoffee.com_business-ethics-q3m7-pdf-free.pdf
pdfcoffee.com_business-ethics-q3m7-pdf-free.pdfpdfcoffee.com_business-ethics-q3m7-pdf-free.pdf
pdfcoffee.com_business-ethics-q3m7-pdf-free.pdf
JOHNBEBONYAP1
 
一比一原版(Flinders毕业证书)弗林德斯大学毕业证原件一模一样
一比一原版(Flinders毕业证书)弗林德斯大学毕业证原件一模一样一比一原版(Flinders毕业证书)弗林德斯大学毕业证原件一模一样
一比一原版(Flinders毕业证书)弗林德斯大学毕业证原件一模一样
ayvbos
 
Russian Escort Abu Dhabi 0503464457 Abu DHabi Escorts
Russian Escort Abu Dhabi 0503464457 Abu DHabi EscortsRussian Escort Abu Dhabi 0503464457 Abu DHabi Escorts
Russian Escort Abu Dhabi 0503464457 Abu DHabi Escorts
Monica Sydney
 
一比一原版奥兹学院毕业证如何办理
一比一原版奥兹学院毕业证如何办理一比一原版奥兹学院毕业证如何办理
一比一原版奥兹学院毕业证如何办理
F
 
Abu Dhabi Escorts Service 0508644382 Escorts in Abu Dhabi
Abu Dhabi Escorts Service 0508644382 Escorts in Abu DhabiAbu Dhabi Escorts Service 0508644382 Escorts in Abu Dhabi
Abu Dhabi Escorts Service 0508644382 Escorts in Abu Dhabi
Monica Sydney
 
一比一原版(Curtin毕业证书)科廷大学毕业证原件一模一样
一比一原版(Curtin毕业证书)科廷大学毕业证原件一模一样一比一原版(Curtin毕业证书)科廷大学毕业证原件一模一样
一比一原版(Curtin毕业证书)科廷大学毕业证原件一模一样
ayvbos
 
在线制作约克大学毕业证(yu毕业证)在读证明认证可查
在线制作约克大学毕业证(yu毕业证)在读证明认证可查在线制作约克大学毕业证(yu毕业证)在读证明认证可查
在线制作约克大学毕业证(yu毕业证)在读证明认证可查
ydyuyu
 

Último (20)

哪里办理美国迈阿密大学毕业证(本硕)umiami在读证明存档可查
哪里办理美国迈阿密大学毕业证(本硕)umiami在读证明存档可查哪里办理美国迈阿密大学毕业证(本硕)umiami在读证明存档可查
哪里办理美国迈阿密大学毕业证(本硕)umiami在读证明存档可查
 
原版制作美国爱荷华大学毕业证(iowa毕业证书)学位证网上存档可查
原版制作美国爱荷华大学毕业证(iowa毕业证书)学位证网上存档可查原版制作美国爱荷华大学毕业证(iowa毕业证书)学位证网上存档可查
原版制作美国爱荷华大学毕业证(iowa毕业证书)学位证网上存档可查
 
Meaning of On page SEO & its process in detail.
Meaning of On page SEO & its process in detail.Meaning of On page SEO & its process in detail.
Meaning of On page SEO & its process in detail.
 
20240510 QFM016 Irresponsible AI Reading List April 2024.pdf
20240510 QFM016 Irresponsible AI Reading List April 2024.pdf20240510 QFM016 Irresponsible AI Reading List April 2024.pdf
20240510 QFM016 Irresponsible AI Reading List April 2024.pdf
 
20240509 QFM015 Engineering Leadership Reading List April 2024.pdf
20240509 QFM015 Engineering Leadership Reading List April 2024.pdf20240509 QFM015 Engineering Leadership Reading List April 2024.pdf
20240509 QFM015 Engineering Leadership Reading List April 2024.pdf
 
pdfcoffee.com_business-ethics-q3m7-pdf-free.pdf
pdfcoffee.com_business-ethics-q3m7-pdf-free.pdfpdfcoffee.com_business-ethics-q3m7-pdf-free.pdf
pdfcoffee.com_business-ethics-q3m7-pdf-free.pdf
 
Trump Diapers Over Dems t shirts Sweatshirt
Trump Diapers Over Dems t shirts SweatshirtTrump Diapers Over Dems t shirts Sweatshirt
Trump Diapers Over Dems t shirts Sweatshirt
 
一比一原版(Flinders毕业证书)弗林德斯大学毕业证原件一模一样
一比一原版(Flinders毕业证书)弗林德斯大学毕业证原件一模一样一比一原版(Flinders毕业证书)弗林德斯大学毕业证原件一模一样
一比一原版(Flinders毕业证书)弗林德斯大学毕业证原件一模一样
 
Russian Escort Abu Dhabi 0503464457 Abu DHabi Escorts
Russian Escort Abu Dhabi 0503464457 Abu DHabi EscortsRussian Escort Abu Dhabi 0503464457 Abu DHabi Escorts
Russian Escort Abu Dhabi 0503464457 Abu DHabi Escorts
 
Real Men Wear Diapers T Shirts sweatshirt
Real Men Wear Diapers T Shirts sweatshirtReal Men Wear Diapers T Shirts sweatshirt
Real Men Wear Diapers T Shirts sweatshirt
 
一比一原版奥兹学院毕业证如何办理
一比一原版奥兹学院毕业证如何办理一比一原版奥兹学院毕业证如何办理
一比一原版奥兹学院毕业证如何办理
 
APNIC Updates presented by Paul Wilson at ARIN 53
APNIC Updates presented by Paul Wilson at ARIN 53APNIC Updates presented by Paul Wilson at ARIN 53
APNIC Updates presented by Paul Wilson at ARIN 53
 
Local Call Girls in Seoni 9332606886 HOT & SEXY Models beautiful and charmin...
Local Call Girls in Seoni  9332606886 HOT & SEXY Models beautiful and charmin...Local Call Girls in Seoni  9332606886 HOT & SEXY Models beautiful and charmin...
Local Call Girls in Seoni 9332606886 HOT & SEXY Models beautiful and charmin...
 
Abu Dhabi Escorts Service 0508644382 Escorts in Abu Dhabi
Abu Dhabi Escorts Service 0508644382 Escorts in Abu DhabiAbu Dhabi Escorts Service 0508644382 Escorts in Abu Dhabi
Abu Dhabi Escorts Service 0508644382 Escorts in Abu Dhabi
 
Call girls Service in Ajman 0505086370 Ajman call girls
Call girls Service in Ajman 0505086370 Ajman call girlsCall girls Service in Ajman 0505086370 Ajman call girls
Call girls Service in Ajman 0505086370 Ajman call girls
 
Nagercoil Escorts Service Girl ^ 9332606886, WhatsApp Anytime Nagercoil
Nagercoil Escorts Service Girl ^ 9332606886, WhatsApp Anytime NagercoilNagercoil Escorts Service Girl ^ 9332606886, WhatsApp Anytime Nagercoil
Nagercoil Escorts Service Girl ^ 9332606886, WhatsApp Anytime Nagercoil
 
best call girls in Hyderabad Finest Escorts Service 📞 9352988975 📞 Available ...
best call girls in Hyderabad Finest Escorts Service 📞 9352988975 📞 Available ...best call girls in Hyderabad Finest Escorts Service 📞 9352988975 📞 Available ...
best call girls in Hyderabad Finest Escorts Service 📞 9352988975 📞 Available ...
 
一比一原版(Curtin毕业证书)科廷大学毕业证原件一模一样
一比一原版(Curtin毕业证书)科廷大学毕业证原件一模一样一比一原版(Curtin毕业证书)科廷大学毕业证原件一模一样
一比一原版(Curtin毕业证书)科廷大学毕业证原件一模一样
 
在线制作约克大学毕业证(yu毕业证)在读证明认证可查
在线制作约克大学毕业证(yu毕业证)在读证明认证可查在线制作约克大学毕业证(yu毕业证)在读证明认证可查
在线制作约克大学毕业证(yu毕业证)在读证明认证可查
 
Vip Firozabad Phone 8250092165 Escorts Service At 6k To 30k Along With Ac Room
Vip Firozabad Phone 8250092165 Escorts Service At 6k To 30k Along With Ac RoomVip Firozabad Phone 8250092165 Escorts Service At 6k To 30k Along With Ac Room
Vip Firozabad Phone 8250092165 Escorts Service At 6k To 30k Along With Ac Room
 

How to deploy & optimize eZ Publish (2014)

  • 1. 1401 Avenue du Mondial 98 Immeuble Oxygène 34000 Montpellier 04 99 13 68 60 How to deploy & optimize eZ Publish high-traffic / bigdata context 1 KALIOP.COM
  • 2. Critical issues : Critical mass : Complexity to solve : Big Data ? Peak loads ? Transactions ? (import – export - REST) User profiling ? (auth – settings – peruser > 5 M pages / vues / mois Replicated ? Le 09/10/2 High traffic ? Huge volume ? 2 High-traffic ? Exemples > 5 M pages / vues / mois UI) 550000KK ++ uusseerr//ddaayy 1M+ datas +200% 100k transact./day 50%+ authenticated (portal features) + + ++ ++ +++ Exemples (PRA – Worldwide cloud) 2+ ++++
  • 3. Do not focus solely on technical expertise ! Le 09/10/2 Keys of success 3 Web Architect / SCRUM Master Exemples Project management > 5 M pages / vues / mois approach Web Architect / SCRUM Master Technical expertise Tools
  • 4. Project management Role of the Web Architect : Never stop to (re)design. Arbitrate & find workarounds for all the contradictory issues : UX, front-end, performances, dev, hosting, delay, cost, stability, SEO, marketing operations... Role of the project manager (or SCRUM Master) : Protect the team. Understand, explain & make the POC possible , code refactoring, continuous integration & devOps Role of the project owner : Build the team & be clear on the KPIs Exemple : possible to challenge the UX ? (VS performances) Exemple : ready to work without a Gantt ? (VS kanban) Le 09/10/2 Keys of success / PM approach 4 approach Exemples > 5 M pages / vues / mois
  • 5. Le 09/10/2 Keys of success / PM approach 5 Tools Monitoring : complexity to monitor all the stack (in most cases, only on low level services, not on PHP / slow queries) Metrics : complexity to have metrics on all the the stack (in most cases, only on low level services, or end-users trafic) Deployment tools : the easier it is, the more consuming it is (in most cases, copy the files & purge the cache...) Testing : complexity to automate unit testing / user testing (in most cases... nothing)
  • 6. Le 09/10/2 Keys of success / Technical expertise 6 Technical expertise (not only eZ) FPM Fast CGI APC And more...
  • 7. Le 09/10/2 Keys of success / Technical expertise Médias (copy) 7 eZ FS2 StaleCache INI Templates Médias Viewcache Template-block HTTP Caches ESI ++++ Easy to host Save ressources Easy to setup/switch StaleCache Simplify the deployment process ---- High NFS activity Require top-level ($$$) NFS Require an high eZ quality dev Require frequent purges APC APC APC Stale Cache ( no flock )
  • 8. Le 09/10/2 Keys of success / Technical expertise Médias (copy) 8 eZ DFS Cluster INI Templates Cache (copy) INI Templates Cache (copy) INI Templates Cache (copy) HTTP Caches ESI APC APC APC EZ DFS Médias Viewcache Template-block ... META DATA ++++ Compatible with most of platforms Low NFS activity Easy to setup/switch StaleCache ---- Waste of ressources ClusterDB bottleneck Complex deployment process Require an high eZ quality dev Require frequent purges
  • 9. Le 09/10/2 Keys of success / Technical expertise 9 DevOps mode Do not expect the hosting architecture (sizing) to make up for the application issues... Do not expect the development (hack, trick) to make up for the hosting architecture issues...
  • 10. Le 09/10/2 Keys of success / Technical expertise 10 DevOps mode (expertise in the middle) APC apc.filters = "-cache.*.php" (exlude compiled templates) MySql tmpdir → tmpfs (avoid « on disk » storage) Add missing indexes (remote_id) Solr Split read/write operations Varnish Synchronize with eZ (x-node pruge) APC
  • 11. Le 09/10/2 Keys of success / Technical expertise 11 OpteiZm Pizueb yloisuhr code (what you can deduce) Reduce the Cache-block activity & volume Optimize the viewcache activity Remove Useless SQL Use small range keys Set an expiry value Use ezpagedata() instead Replace with ESI No more than 1K files ! Avoid too many view parameters Optimize smartviewcache Synchronize with Varnish Replace with Solr Use PHP cache Optimize Avoid datamap load Solr Schedule your background tasks split read / write activities Delay « commit » (not only index)
  • 12. Le 09/10/2 Keys of success / Technical expertise 12 OpteiZm Pizueb yloisuhr code (read tutos)
  • 13. Le 09/10/2 Keys of success / Technical expertise 13 OpteiZm Pizueb yloisuhr code (Learn how it works) Basic optimization : DelayedIndexing = true (→ will not delay hard commits for all actions ! ) OptimizeOnCommit = disabled CRON // ezfoptimizeindex (3 minutes) CRON // ezfindexcontent (1 day) Medium optimization : OptimizeOnCommit = disabled DisableDeleteCommits = true (+ CRON to commit) DisableDirectCommits=true (+ CRON to commit) CRON // bin/php/ezsolrcommit.php (3 minutes) CRON // ezfoptimizeindex (1 day) Other great optimizations : - Replicate Solr, and split the Read (search..) / Write (commit, optimize), to avoid concurrencies - Avoid hard commits (soft commits to avoid fsync ops, commitWithin to delay pending docs within Solr) addDoc Hard Commit (rebuild indexes + fsync) Soft Commit (rebuild indexes) CommitWithin (commit all pending docs within X secs)
  • 14. Le 09/10/2 Keys of success / Technical expertise 14 Optimize your code (Get metrics) (what you can not guess) APC EZ DFS META DATA GET METRICS
  • 15. Le 09/10/2 Keys of success / Technical expertise 15 Optimize your code (Get metrics) (what you can not guess) Why session_start lock ??? eZ Bug on the checkValidity=false setting... will always create a session_start on the index.php
  • 16. Le 09/10/2 Keys of success / Technical expertise 16 Optimize your code (Get metrics) (what you can not guess) Why a unique table insert needs 9,6 sec ??? Server side tuning requested (memory, table optimize, host the clusterDB on another server...)
  • 17. Le 09/10/2 Keys of success / Technical expertise 17 Optimize your code (Get metrics) (what you can not guess) Why my code provides 1988 cURL calls ??? Mmhh... How to say... NEXT
  • 18. Critical issues : Critical mass : Complexity to solve : Big Data ? Peak loads ? Transactions ? (import – export - REST) User profiling ? (auth – settings – peruser > 5 M pages / vues / mois Replicated ? Le 09/10/2 Enough to resolve the following context ? 18 High-traffic ? Exemples > 5 M pages / vues / mois UI) 550000KK ++ uusseerr//ddaayy 1M+ datas +200% 100k transact./day 50%+ authentifié (portal features) + + ++ ++ +++ Exemples (PRA – Worldwide cloud) 2+ ++++
  • 19. Externalize the user database (if too big) Build a full ESI front-end (pure HTTP cache logical) Replace the DB cluster with Redis or memcached Externalize medias on CDN Use a custom PHP Cache (exemple) Use messaging tools Build POC with docker Build custom metrics tools ... Le 09/10/2 Enough to resolve the following context ? 19 NO ! Be creative !
  • 20. Le 09/10/2 Enough to resolve the following context ? 20 Be creative ! Object.datamap → PHP array PHP cache file (eZPHPCreator) On publish Store all the attributes Pre-generate related values On read Read object datamap Fetch, filter, facet, sort.. HTML
  • 21. Le 09/10/2 Enough to resolve the following context ? 21 Be creative ! Custom metrics tools
  • 22. Le 09/10/2 Ready for eZ5 ? 22 Ready for eZP5... Native HTTP Cache Native Storage abstraction Native pure MVC Native ESI support … Full Symfony stack
  • 23. Le 09/10/2 Ready for eZ5 ? HTTP Cache Twig compiled templates Routing service container translations... 23 Persistence cache User GET / 200 OK Age : 100 Cache-control: Maxage=300 X-Location-Id:2 X-Location-Id:{nodeID} Vary: X-User-Hash eZ expired HTTP Cache PROD DEV Clear on Viewcache event
  • 24. Le 09/10/2 Ready for eZ5 ? ESI logical 24 HEADER SLIDER FOOTER LAST NEWS LAST COMMENTS USER SELECTION FAVORITES TOPICS ESI key : Shared content Expiry ? 1 day TTL ESI key : Shared content Expiry ? Long TTL + Dynamic, on change ESI key : Per user content Expiry ? Long TTL + Dynamic, on change ESI key : Shared content Expiry ? 5 min TTL ESI key : Per topics Expiry ? Long TTL + Dynamic, on change ESI key : Shared content Expiry ? 1 day TTL LAST Tweets AJAX
  • 25. 1401 Avenue du Mondial 98 Immeuble Oxygène 34000 Montpellier 04 99 13 68 60 How to deploy & optimize eZ Publish high-traffic / bigdata context Question ? 25KALIOP.COM