SlideShare a Scribd company logo
1 of 21
Download to read offline
1401 Avenue du Mondial 98
 Immeuble Oxygène
34000 Montpellier
04 99 13 68 60
1 KALIOP.COM
How to deploy &
optimize eZ Publish
high-traffic / bigdata context
Le
High traffic ? Huge volume ?
2
High-traffic ?
Exemples
> 5 M pages / vues / mois
Peak loads ?
Big Data ?
Transactions ?
(import – export - REST)
User profiling ?
(auth – settings – peruser UI)
500K + user/day500K + user/day
+200%
1M+ datas
100k transact./day
50%+ authenticated
(portal features)
+
++
+
++
+++
Critical issues : Critical mass : Complexity to solve :
Exemples
> 5 M pages / vues / mois
Replicated ?
(PRA – Worldwide cloud)
2+ ++++
Le
Keys of success
3
Exemples
> 5 M pages / vues / mois
Project management
approach
Technical expertise Tools
Do not focus solely on technical
expertise !
Web Architect /
SCRUM Master
Web Architect /
SCRUM Master
Le
Keys of success / PM approach
4
Exemples
> 5 M pages / vues / mois
Project management
approach
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
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)
Capistrano
Le
Keys of success / Technical expertise
6
Technical expertise
(not only eZ)
FPM
Fast
CGI
APC
And more...
Le
Keys of success / Technical expertise
7
eZ FS2 StaleCache
INI
Templates
Médias
Viewcache
Template-block
Médias (copy)
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
Keys of success / Technical expertise
8
eZ DFS Cluster
INI
Templates
Cache (copy)
INI
Templates
Cache (copy)
INI
Templates
Cache (copy)
Médias (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
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
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
Keys of success / Technical expertise
11
eZ PublishOptimize your 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
Avoid datamap loadOptimize
Solr
split read / write activities
Delay « commit » (not only index)
Schedule your
background
tasks
Le
Keys of success / Technical expertise
12
eZ PublishOptimize your code
(read tutos)
Le
Keys of success / Technical expertise
13
eZ PublishOptimize your 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
Keys of success / Technical expertise
14
Optimize your code
(Get metrics)
(what you can not guess)
APC
EZ DFS
META DATA
GET
METRICS
Le
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
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
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
Le
Enough to resolve the following context ?
18
High-traffic ?
Exemples
> 5 M pages / vues / mois
Peak loads ?
Big Data ?
Transactions ?
(import – export - REST)
User profiling ?
(auth – settings – peruser UI)
500K + user/day500K + user/day
+200%
1M+ datas
100k transact./day
50%+ authentifié
(portal features)
+
++
+
++
+++
Critical issues : Critical mass : Complexity to solve :
Exemples
> 5 M pages / vues / mois
Replicated ?
(PRA – Worldwide cloud)
2+ ++++
Le
Enough to resolve the following context ?
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)
...
NO ! Be creative !
Le
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
Enough to resolve the following context ?
21
Ready for eZP5...
Native HTTP Cache
Native Storage abstraction
Native pure MVC
Native ESI support
…
Full Symfony stack

More Related Content

What's hot

Symfony workshop introductory slides
Symfony workshop introductory slidesSymfony workshop introductory slides
Symfony workshop introductory slidesStefan Koopmanschap
 
Magento caching
Magento cachingMagento caching
Magento cachingYireo
 
Devoxx Maroc 2015 HTTP 1, HTTP 2 and folks
Devoxx Maroc  2015 HTTP 1, HTTP 2 and folksDevoxx Maroc  2015 HTTP 1, HTTP 2 and folks
Devoxx Maroc 2015 HTTP 1, HTTP 2 and folksNicolas Martignole
 
CakePHPのWebTestCaseでfixtureを使う
CakePHPのWebTestCaseでfixtureを使うCakePHPのWebTestCaseでfixtureを使う
CakePHPのWebTestCaseでfixtureを使うkishida4slideshare
 
Automatic testing and quality assurance for WordPress plugins and themes
Automatic testing and quality assurance for WordPress plugins and themesAutomatic testing and quality assurance for WordPress plugins and themes
Automatic testing and quality assurance for WordPress plugins and themesOtto Kekäläinen
 
Caching for Cash: Caching
Caching for Cash: CachingCaching for Cash: Caching
Caching for Cash: CachingScott MacVicar
 
Cowboy rabbit-websockets
Cowboy rabbit-websocketsCowboy rabbit-websockets
Cowboy rabbit-websocketsWade Mealing
 
Methods and Best Practices for High Performance eCommerce
Methods and Best Practices for High Performance eCommerceMethods and Best Practices for High Performance eCommerce
Methods and Best Practices for High Performance eCommercedmitriysoroka
 
PHP and FastCGI Performance Optimizations
PHP and FastCGI Performance OptimizationsPHP and FastCGI Performance Optimizations
PHP and FastCGI Performance OptimizationsAlessandro Pilotti
 
Performance tips for Symfony2 & PHP
Performance tips for Symfony2 & PHPPerformance tips for Symfony2 & PHP
Performance tips for Symfony2 & PHPMax Romanovsky
 
WordCamp Finland 2015 - WordPress Security
WordCamp Finland 2015 - WordPress SecurityWordCamp Finland 2015 - WordPress Security
WordCamp Finland 2015 - WordPress SecurityTiia Rantanen
 

What's hot (16)

Symfony workshop introductory slides
Symfony workshop introductory slidesSymfony workshop introductory slides
Symfony workshop introductory slides
 
Introduction to php
Introduction to phpIntroduction to php
Introduction to php
 
Magento caching
Magento cachingMagento caching
Magento caching
 
Devoxx Maroc 2015 HTTP 1, HTTP 2 and folks
Devoxx Maroc  2015 HTTP 1, HTTP 2 and folksDevoxx Maroc  2015 HTTP 1, HTTP 2 and folks
Devoxx Maroc 2015 HTTP 1, HTTP 2 and folks
 
CakePHPのWebTestCaseでfixtureを使う
CakePHPのWebTestCaseでfixtureを使うCakePHPのWebTestCaseでfixtureを使う
CakePHPのWebTestCaseでfixtureを使う
 
Scaling WordPress
Scaling WordPressScaling WordPress
Scaling WordPress
 
Symfony for non-techies
Symfony for non-techiesSymfony for non-techies
Symfony for non-techies
 
Automatic testing and quality assurance for WordPress plugins and themes
Automatic testing and quality assurance for WordPress plugins and themesAutomatic testing and quality assurance for WordPress plugins and themes
Automatic testing and quality assurance for WordPress plugins and themes
 
Caching for Cash: Caching
Caching for Cash: CachingCaching for Cash: Caching
Caching for Cash: Caching
 
Cowboy rabbit-websockets
Cowboy rabbit-websocketsCowboy rabbit-websockets
Cowboy rabbit-websockets
 
Methods and Best Practices for High Performance eCommerce
Methods and Best Practices for High Performance eCommerceMethods and Best Practices for High Performance eCommerce
Methods and Best Practices for High Performance eCommerce
 
Realtime with-websockets-2015
Realtime with-websockets-2015Realtime with-websockets-2015
Realtime with-websockets-2015
 
PHP and FastCGI Performance Optimizations
PHP and FastCGI Performance OptimizationsPHP and FastCGI Performance Optimizations
PHP and FastCGI Performance Optimizations
 
Performance tips for Symfony2 & PHP
Performance tips for Symfony2 & PHPPerformance tips for Symfony2 & PHP
Performance tips for Symfony2 & PHP
 
Websocket 101 in Python
Websocket 101 in PythonWebsocket 101 in Python
Websocket 101 in Python
 
WordCamp Finland 2015 - WordPress Security
WordCamp Finland 2015 - WordPress SecurityWordCamp Finland 2015 - WordPress Security
WordCamp Finland 2015 - WordPress Security
 

Viewers also liked

Underwater Photo Gallery: Andrey Shpatak
Underwater Photo Gallery: Andrey ShpatakUnderwater Photo Gallery: Andrey Shpatak
Underwater Photo Gallery: Andrey Shpatakguimera
 
Oxygene channel presentation
Oxygene channel presentationOxygene channel presentation
Oxygene channel presentationReza Jivani
 
National Geographic Photographers: Brian Skerry
National Geographic Photographers: Brian SkerryNational Geographic Photographers: Brian Skerry
National Geographic Photographers: Brian Skerryguimera
 
Sylfen, Stockage d'énergie long terme par hydrogène
Sylfen, Stockage d'énergie long terme par hydrogèneSylfen, Stockage d'énergie long terme par hydrogène
Sylfen, Stockage d'énergie long terme par hydrogèneSylfen
 
Colors of the World_ Underwater
Colors of the World_ UnderwaterColors of the World_ Underwater
Colors of the World_ Underwaterguimera
 
Astronomy Photographer of the Year 2013 finalists
Astronomy Photographer of the Year 2013 finalistsAstronomy Photographer of the Year 2013 finalists
Astronomy Photographer of the Year 2013 finalistsguimera
 
Pictures from the 20th century in black and white
Pictures from the 20th century in black and whitePictures from the 20th century in black and white
Pictures from the 20th century in black and whiteguimera
 
Questions diagram set 1=terkini 1
Questions diagram set 1=terkini 1Questions diagram set 1=terkini 1
Questions diagram set 1=terkini 1MRSMPC
 
Détresses respiratoires ilunga
Détresses respiratoires ilungaDétresses respiratoires ilunga
Détresses respiratoires ilungaesf3
 
Acid attack on concrete
Acid attack on concreteAcid attack on concrete
Acid attack on concreteAyaz Malik
 
C16 alcohols and carboxylic acids
C16 alcohols and carboxylic acidsC16 alcohols and carboxylic acids
C16 alcohols and carboxylic acidsChemrcwss
 
Relation betwee n hc print version
Relation betwee n hc  print version Relation betwee n hc  print version
Relation betwee n hc print version sulaimanmohd80
 
Le Moteur A Hydrogene
Le Moteur A HydrogeneLe Moteur A Hydrogene
Le Moteur A HydrogeneCinemaTICE
 

Viewers also liked (20)

Uslides3
Uslides3Uslides3
Uslides3
 
Underwater Photo Gallery: Andrey Shpatak
Underwater Photo Gallery: Andrey ShpatakUnderwater Photo Gallery: Andrey Shpatak
Underwater Photo Gallery: Andrey Shpatak
 
Oxygene channel presentation
Oxygene channel presentationOxygene channel presentation
Oxygene channel presentation
 
National Geographic Photographers: Brian Skerry
National Geographic Photographers: Brian SkerryNational Geographic Photographers: Brian Skerry
National Geographic Photographers: Brian Skerry
 
Sylfen, Stockage d'énergie long terme par hydrogène
Sylfen, Stockage d'énergie long terme par hydrogèneSylfen, Stockage d'énergie long terme par hydrogène
Sylfen, Stockage d'énergie long terme par hydrogène
 
Robospacsuit
RobospacsuitRobospacsuit
Robospacsuit
 
Colors of the World_ Underwater
Colors of the World_ UnderwaterColors of the World_ Underwater
Colors of the World_ Underwater
 
Astronomy Photographer of the Year 2013 finalists
Astronomy Photographer of the Year 2013 finalistsAstronomy Photographer of the Year 2013 finalists
Astronomy Photographer of the Year 2013 finalists
 
Pictures from the 20th century in black and white
Pictures from the 20th century in black and whitePictures from the 20th century in black and white
Pictures from the 20th century in black and white
 
Course a pied et physiologie
Course a pied et physiologieCourse a pied et physiologie
Course a pied et physiologie
 
L'origine de la vie
L'origine de la vieL'origine de la vie
L'origine de la vie
 
Planchers 05
Planchers 05Planchers 05
Planchers 05
 
Questions diagram set 1=terkini 1
Questions diagram set 1=terkini 1Questions diagram set 1=terkini 1
Questions diagram set 1=terkini 1
 
Corrosion
CorrosionCorrosion
Corrosion
 
Acid deposition_by Rajkumar
Acid deposition_by RajkumarAcid deposition_by Rajkumar
Acid deposition_by Rajkumar
 
Détresses respiratoires ilunga
Détresses respiratoires ilungaDétresses respiratoires ilunga
Détresses respiratoires ilunga
 
Acid attack on concrete
Acid attack on concreteAcid attack on concrete
Acid attack on concrete
 
C16 alcohols and carboxylic acids
C16 alcohols and carboxylic acidsC16 alcohols and carboxylic acids
C16 alcohols and carboxylic acids
 
Relation betwee n hc print version
Relation betwee n hc  print version Relation betwee n hc  print version
Relation betwee n hc print version
 
Le Moteur A Hydrogene
Le Moteur A HydrogeneLe Moteur A Hydrogene
Le Moteur A Hydrogene
 

Similar to Deploy and optimize eZ Publish for high-traffic and big data contexts

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 scalabilityWim Godden
 
Magento performancenbs
Magento performancenbsMagento performancenbs
Magento performancenbsvarien
 
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 scalabilityWim Godden
 
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 2011Wim Godden
 
php & performance
 php & performance php & performance
php & performancesimon8410
 
The Value of Reactive
The Value of ReactiveThe Value of Reactive
The Value of ReactiveVMware Tanzu
 
Profiling PHP with Xdebug / Webgrind
Profiling PHP with Xdebug / WebgrindProfiling PHP with Xdebug / Webgrind
Profiling PHP with Xdebug / WebgrindSam Keen
 
Caching and tuning fun for high scalability @ FOSDEM 2012
Caching and tuning fun for high scalability @ FOSDEM 2012Caching and tuning fun for high scalability @ FOSDEM 2012
Caching and tuning fun for high scalability @ FOSDEM 2012Wim Godden
 
Overview Of Parallel Development - Ericnel
Overview Of Parallel Development -  EricnelOverview Of Parallel Development -  Ericnel
Overview Of Parallel Development - Ericnelukdpe
 
OFF SHORE RECRUITER TRAINING
OFF SHORE RECRUITER TRAININGOFF SHORE RECRUITER TRAINING
OFF SHORE RECRUITER TRAININGsatish_kumar646
 
Apache Samza 1.0 - What's New, What's Next
Apache Samza 1.0 - What's New, What's NextApache Samza 1.0 - What's New, What's Next
Apache Samza 1.0 - What's New, What's NextPrateek Maheshwari
 
Serverless in-action
Serverless in-actionServerless in-action
Serverless in-actionAssaf Gannon
 
6 tips for improving ruby performance
6 tips for improving ruby performance6 tips for improving ruby performance
6 tips for improving ruby performanceEngine Yard
 
Performance schema in_my_sql_5.6_pluk2013
Performance schema in_my_sql_5.6_pluk2013Performance schema in_my_sql_5.6_pluk2013
Performance schema in_my_sql_5.6_pluk2013Valeriy Kravchuk
 
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 techniquesWim Godden
 
Entenda de onde vem toda a potência do Intel® Xeon Phi™
Entenda de onde vem toda a potência do Intel® Xeon Phi™ Entenda de onde vem toda a potência do Intel® Xeon Phi™
Entenda de onde vem toda a potência do Intel® Xeon Phi™ Intel Software Brasil
 

Similar to Deploy and optimize eZ Publish for high-traffic and big data contexts (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
 
Magento performancenbs
Magento performancenbsMagento performancenbs
Magento performancenbs
 
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
 
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
 
php & performance
 php & performance php & performance
php & performance
 
The value of reactive
The value of reactiveThe value of reactive
The value of reactive
 
The Value of Reactive
The Value of ReactiveThe Value of Reactive
The Value of Reactive
 
Profiling PHP with Xdebug / Webgrind
Profiling PHP with Xdebug / WebgrindProfiling PHP with Xdebug / Webgrind
Profiling PHP with Xdebug / Webgrind
 
Caching and tuning fun for high scalability @ FOSDEM 2012
Caching and tuning fun for high scalability @ FOSDEM 2012Caching and tuning fun for high scalability @ FOSDEM 2012
Caching and tuning fun for high scalability @ FOSDEM 2012
 
Overview Of Parallel Development - Ericnel
Overview Of Parallel Development -  EricnelOverview Of Parallel Development -  Ericnel
Overview Of Parallel Development - Ericnel
 
Ipc mysql php
Ipc mysql php Ipc mysql php
Ipc mysql php
 
OFF SHORE RECRUITER TRAINING
OFF SHORE RECRUITER TRAININGOFF SHORE RECRUITER TRAINING
OFF SHORE RECRUITER TRAINING
 
Apache Samza 1.0 - What's New, What's Next
Apache Samza 1.0 - What's New, What's NextApache Samza 1.0 - What's New, What's Next
Apache Samza 1.0 - What's New, What's Next
 
Serverless in-action
Serverless in-actionServerless in-action
Serverless in-action
 
Ams.rb Oktober
Ams.rb OktoberAms.rb Oktober
Ams.rb Oktober
 
6 tips for improving ruby performance
6 tips for improving ruby performance6 tips for improving ruby performance
6 tips for improving ruby performance
 
Performance schema in_my_sql_5.6_pluk2013
Performance schema in_my_sql_5.6_pluk2013Performance schema in_my_sql_5.6_pluk2013
Performance schema in_my_sql_5.6_pluk2013
 
.net Framework
.net Framework.net Framework
.net Framework
 
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
 
Entenda de onde vem toda a potência do Intel® Xeon Phi™
Entenda de onde vem toda a potência do Intel® Xeon Phi™ Entenda de onde vem toda a potência do Intel® Xeon Phi™
Entenda de onde vem toda a potência do Intel® Xeon Phi™
 

More from Kaliop-slide

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...Kaliop-slide
 
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'innovationKaliop-slide
 
[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...Kaliop-slide
 
[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 agileKaliop-slide
 
[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'...Kaliop-slide
 
Web performances : Is It not the right time to (re)consider CMS ?
Web performances : Is It not the right time to (re)consider CMS ?Web performances : Is It not the right time to (re)consider CMS ?
Web performances : Is It not the right time to (re)consider CMS ?Kaliop-slide
 
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...Kaliop-slide
 
Ezobject wrapper workshop
Ezobject wrapper workshopEzobject wrapper workshop
Ezobject wrapper workshopKaliop-slide
 
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 ?Kaliop-slide
 
Web performance optimization
Web performance optimizationWeb performance optimization
Web performance optimizationKaliop-slide
 
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.frKaliop-slide
 
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 PublishKaliop-slide
 
Bien choisir sa solution e-commerce
Bien choisir sa solution e-commerceBien choisir sa solution e-commerce
Bien choisir sa solution e-commerceKaliop-slide
 
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-tourismeKaliop-slide
 
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 automationKaliop-slide
 
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)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 internationaleKaliop-slide
 
eZ UnConference - Z Publish top-performance through mastery (and extension) o...
eZ UnConference - Z Publish top-performance through mastery (and extension) o...eZ UnConference - Z Publish top-performance through mastery (and extension) o...
eZ UnConference - Z Publish top-performance through mastery (and extension) o...Kaliop-slide
 
Workshop eZ Publish Caching Mechanisms
Workshop eZ Publish Caching MechanismsWorkshop eZ Publish Caching Mechanisms
Workshop eZ Publish Caching MechanismsKaliop-slide
 

More from 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'...
 
Web performances : Is It not the right time to (re)consider CMS ?
Web performances : Is It not the right time to (re)consider CMS ?Web performances : Is It not the right time to (re)consider CMS ?
Web performances : Is It not the right time to (re)consider CMS ?
 
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
 
eZ UnConference - Z Publish top-performance through mastery (and extension) o...
eZ UnConference - Z Publish top-performance through mastery (and extension) o...eZ UnConference - Z Publish top-performance through mastery (and extension) o...
eZ UnConference - Z Publish top-performance through mastery (and extension) o...
 
Workshop eZ Publish Caching Mechanisms
Workshop eZ Publish Caching MechanismsWorkshop eZ Publish Caching Mechanisms
Workshop eZ Publish Caching Mechanisms
 

Recently uploaded

🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘RTylerCroy
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxMalak Abu Hammad
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxKatpro Technologies
 
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...gurkirankumar98700
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...Martijn de Jong
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountPuma Security, LLC
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Igalia
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024Results
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...apidays
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Servicegiselly40
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationSafe Software
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonetsnaman860154
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonAnna Loughnan Colquhoun
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationRadu Cotescu
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking MenDelhi Call girls
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationMichael W. Hawkins
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking MenDelhi Call girls
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking MenDelhi Call girls
 

Recently uploaded (20)

🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptx
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
 
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path Mount
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men
 

Deploy and optimize eZ Publish for high-traffic and big data contexts

  • 1. 1401 Avenue du Mondial 98  Immeuble Oxygène 34000 Montpellier 04 99 13 68 60 1 KALIOP.COM How to deploy & optimize eZ Publish high-traffic / bigdata context
  • 2. Le High traffic ? Huge volume ? 2 High-traffic ? Exemples > 5 M pages / vues / mois Peak loads ? Big Data ? Transactions ? (import – export - REST) User profiling ? (auth – settings – peruser UI) 500K + user/day500K + user/day +200% 1M+ datas 100k transact./day 50%+ authenticated (portal features) + ++ + ++ +++ Critical issues : Critical mass : Complexity to solve : Exemples > 5 M pages / vues / mois Replicated ? (PRA – Worldwide cloud) 2+ ++++
  • 3. Le Keys of success 3 Exemples > 5 M pages / vues / mois Project management approach Technical expertise Tools Do not focus solely on technical expertise ! Web Architect / SCRUM Master Web Architect / SCRUM Master
  • 4. Le Keys of success / PM approach 4 Exemples > 5 M pages / vues / mois Project management approach 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)
  • 5. Le 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) Capistrano
  • 6. Le Keys of success / Technical expertise 6 Technical expertise (not only eZ) FPM Fast CGI APC And more...
  • 7. Le Keys of success / Technical expertise 7 eZ FS2 StaleCache INI Templates Médias Viewcache Template-block Médias (copy) 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 Keys of success / Technical expertise 8 eZ DFS Cluster INI Templates Cache (copy) INI Templates Cache (copy) INI Templates Cache (copy) Médias (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 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 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 Keys of success / Technical expertise 11 eZ PublishOptimize your 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 Avoid datamap loadOptimize Solr split read / write activities Delay « commit » (not only index) Schedule your background tasks
  • 12. Le Keys of success / Technical expertise 12 eZ PublishOptimize your code (read tutos)
  • 13. Le Keys of success / Technical expertise 13 eZ PublishOptimize your 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 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 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 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 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. Le Enough to resolve the following context ? 18 High-traffic ? Exemples > 5 M pages / vues / mois Peak loads ? Big Data ? Transactions ? (import – export - REST) User profiling ? (auth – settings – peruser UI) 500K + user/day500K + user/day +200% 1M+ datas 100k transact./day 50%+ authentifié (portal features) + ++ + ++ +++ Critical issues : Critical mass : Complexity to solve : Exemples > 5 M pages / vues / mois Replicated ? (PRA – Worldwide cloud) 2+ ++++
  • 19. Le Enough to resolve the following context ? 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) ... NO ! Be creative !
  • 20. Le 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 Enough to resolve the following context ? 21 Ready for eZP5... Native HTTP Cache Native Storage abstraction Native pure MVC Native ESI support … Full Symfony stack