SlideShare uma empresa Scribd logo
1 de 18
Baixar para ler offline
If you're not failing 90% of the time,
then you're probably not working on
sufficiently challenging problems.
High Performance and
Scalability with Magnolia
Marc Korthaus
CEO SysEleven GmbH
Magnolia Conference 2014
About SysEleven


Born out of a macnews.de (1997 - 2010†)
Founded 2007 in Berlin, 2 datacenters, 50 people (40+ engineers), ISO 27001,
Akamai Partner, SuperCache Developer, specialized in Application Management,
fully virtualized datacenter, a lot of big iron
„If there are two or more ways to do something, and one of those ways can result in a
catastrophe, then someone will do it.“
Why yet another Hosting Company?
• Way to expensive offers from enterprise hosters
• nobody offered application expertise for scaling applications
• strict budget but application knowledge
• … pressure makes diamonds
But some definitions first…


Scalabilty 

… is horizontal aka means capacity, serve more users at the same time, reached
via clustering (Session sharing, Shared Storage, Load balancing etc.),

Performance 

… is vertical, is about zippiness, means to optimize for time to first byte and
general load time, needs bigger iron, caching (much cheaper, just do it) and 

application optimization (a must).
!
… which actually means:




Capacity 

(Our job)

Performance 

(your job)
Typical CMS Setup
Clustered Magnolia Setup
Typical eCommerce Server Setup
MySQL Master
F5 Loadbalancer
Shared Storage
MySQL-

Replikation
Application Cluster
SuperCache (NginX & Couchbase)
MySQL Slaves
DB Writes DB Reads
Prudsys Server
FACT Finder Cluster
Cache API
Backend & Syslog
Search
Application Server
Shared Storage
DBS
Log 

Processing
Recommendation 

Engine
Cache Frontend
Loadbalancing
Caching API
DBM
How to improve Performance
• „Normally“ bigger Iron will help, doesn´t really help with bad Application code
• SSDs (SAS vs. PCI cards), higher CPU frequency per Thread, more memory
• General approach: Optimize for „time to first byte“
• Database Tuning (slow query, read from slave, write to master)
• Profile your application: NewRelic, JProfiler, hprof, AppDynamics, DynaTrace
• Caching, Caching and Caching
Scalabality & Clustering
• JackRabbit on different nodes for author and app server (you already knew that)
• Big Iron is good, too

(Hardware Loadbalancers, Web Application Firewalls, DDoS-Protection incl.)
• High Performance Shared Storage 

(go with NetApp or Isilon - don´t even think of working with Linux NFS servers!)
• Database clustering

Master/Master & Master/Slave, maybe even sharding?
• Elasticity, automatic deployment (Puppet, Chef, Go), DevOps in general
Caching: Ehcache, Varnish & SuperCache
• Good ol’ Ehcache is active by default (so good so far)
• Passive Caching (Varnish)

serving full pages (or snippets via ESI), no advanced flushing out of the box,
needs a lifetime per URL, no shared memory backend per instances, no warm
restart, slow start is painful
• Active Caching (SuperCache)

separates memory backend, infinite Cache Lifetime, active flushing via mapping
service, API based, full flexibility
• Best is: Client for Magnolia is in development
SuperCache in detail
Hardware 

Loadbalancer
http-Request
Proxy incl. API

(NginX + Lua)
Cache Memory Backend

(Couchbase Server)
Magnolia

Application Servers
Magnolia 

Authoring Server
Hit
Miss Tag
SuperCache - What´s in for you
• RESTful API (not for a single Application), mapping & tags per cache item
• infinite Cache Lifetime, no cold cache, even after startup
• memory & disk backend, multi level scalability
• DDoS proof, very little CPU resources are used (2 Threads)
• ESI as a way to combine content of different applications
• HTTP Layer 7 Manipulation
Cache hit rates
Customer C
MISS
29 %
HIT
71 %
Measure your Hitrate!
Customer B
MISS
87 %
HIT
13 %
Customer A
MISS!
50 %
HIT!
50 %
How to ruin your cache hit rate
• Put sessions in URL
• Do lot of AB-Testing (and implement it lousy)
• make a lot of content updates (≥ thousands of updates per day)
• not having a page with content but a search only site



(…yes, it´s a trend: „Don´t use a CMS, just do a search!“)
Time to first byte
Application
some other cache :-)
SuperCache
0,00 Sec. 0,50 Sec. 1,00 Sec. 1,50 Sec. 2,00 Sec.
If you're not failing 90% of the time,
then you're probably not working on
sufficiently challenging problems.

Mais conteúdo relacionado

Mais de Magnolia

The Age of the IOT & Digital Business
The Age of the IOT & Digital BusinessThe Age of the IOT & Digital Business
The Age of the IOT & Digital BusinessMagnolia
 
Using Magnolia in a Microservices Architecture
Using Magnolia in a Microservices ArchitectureUsing Magnolia in a Microservices Architecture
Using Magnolia in a Microservices ArchitectureMagnolia
 
A modern front end development workflow for Magnolia at Atlassian
A modern front end development workflow for Magnolia at AtlassianA modern front end development workflow for Magnolia at Atlassian
A modern front end development workflow for Magnolia at AtlassianMagnolia
 
Magnolia Conference 2015 - Pascal Mangold's keynote
Magnolia Conference 2015 - Pascal Mangold's keynoteMagnolia Conference 2015 - Pascal Mangold's keynote
Magnolia Conference 2015 - Pascal Mangold's keynoteMagnolia
 
Product keynote - introducing Magnolia 5.4
Product keynote - introducing Magnolia 5.4Product keynote - introducing Magnolia 5.4
Product keynote - introducing Magnolia 5.4Magnolia
 
Launching Magnolia on demand
Launching Magnolia on demandLaunching Magnolia on demand
Launching Magnolia on demandMagnolia
 
Front-end developers - build Magnolia sites faster
Front-end developers - build Magnolia sites fasterFront-end developers - build Magnolia sites faster
Front-end developers - build Magnolia sites fasterMagnolia
 
Magnolia and beacons: how do they work best together?
Magnolia and beacons: how do they work best together?Magnolia and beacons: how do they work best together?
Magnolia and beacons: how do they work best together?Magnolia
 
Magnolia and the IOT
Magnolia and the IOTMagnolia and the IOT
Magnolia and the IOTMagnolia
 
Internationalization for globalized enterprise websites
Internationalization for globalized enterprise websitesInternationalization for globalized enterprise websites
Internationalization for globalized enterprise websitesMagnolia
 
The new visana website how to fit a square peg into a round hole
The new visana website   how to fit a square peg into a round holeThe new visana website   how to fit a square peg into a round hole
The new visana website how to fit a square peg into a round holeMagnolia
 
Solving for complex UI designs: a front-end perspective and approach
Solving for complex UI designs: a front-end perspective and approachSolving for complex UI designs: a front-end perspective and approach
Solving for complex UI designs: a front-end perspective and approachMagnolia
 
Extending Magnolia with our solutions
Extending Magnolia with our solutionsExtending Magnolia with our solutions
Extending Magnolia with our solutionsMagnolia
 
Boost your online e commerce with magnolia
Boost your online e commerce with magnoliaBoost your online e commerce with magnolia
Boost your online e commerce with magnoliaMagnolia
 
The slick YAML based configuration by file in Magnolia 5.4
The slick YAML based configuration by file in Magnolia 5.4The slick YAML based configuration by file in Magnolia 5.4
The slick YAML based configuration by file in Magnolia 5.4Magnolia
 
Seamless integration with Magnolia's REST API
Seamless integration with Magnolia's REST APISeamless integration with Magnolia's REST API
Seamless integration with Magnolia's REST APIMagnolia
 
Dynamic page caching for Magnolia 5.4
Dynamic page caching for Magnolia 5.4Dynamic page caching for Magnolia 5.4
Dynamic page caching for Magnolia 5.4Magnolia
 
An integrated, fail safe e-business platform based on open source solutions
An integrated, fail safe e-business platform based on open source solutionsAn integrated, fail safe e-business platform based on open source solutions
An integrated, fail safe e-business platform based on open source solutionsMagnolia
 
Magnolia conference 2015 - Boris Kraft's keynote
Magnolia conference 2015 - Boris Kraft's keynoteMagnolia conference 2015 - Boris Kraft's keynote
Magnolia conference 2015 - Boris Kraft's keynoteMagnolia
 
From business requirements to the development of magnolia cms.com - personali...
From business requirements to the development of magnolia cms.com - personali...From business requirements to the development of magnolia cms.com - personali...
From business requirements to the development of magnolia cms.com - personali...Magnolia
 

Mais de Magnolia (20)

The Age of the IOT & Digital Business
The Age of the IOT & Digital BusinessThe Age of the IOT & Digital Business
The Age of the IOT & Digital Business
 
Using Magnolia in a Microservices Architecture
Using Magnolia in a Microservices ArchitectureUsing Magnolia in a Microservices Architecture
Using Magnolia in a Microservices Architecture
 
A modern front end development workflow for Magnolia at Atlassian
A modern front end development workflow for Magnolia at AtlassianA modern front end development workflow for Magnolia at Atlassian
A modern front end development workflow for Magnolia at Atlassian
 
Magnolia Conference 2015 - Pascal Mangold's keynote
Magnolia Conference 2015 - Pascal Mangold's keynoteMagnolia Conference 2015 - Pascal Mangold's keynote
Magnolia Conference 2015 - Pascal Mangold's keynote
 
Product keynote - introducing Magnolia 5.4
Product keynote - introducing Magnolia 5.4Product keynote - introducing Magnolia 5.4
Product keynote - introducing Magnolia 5.4
 
Launching Magnolia on demand
Launching Magnolia on demandLaunching Magnolia on demand
Launching Magnolia on demand
 
Front-end developers - build Magnolia sites faster
Front-end developers - build Magnolia sites fasterFront-end developers - build Magnolia sites faster
Front-end developers - build Magnolia sites faster
 
Magnolia and beacons: how do they work best together?
Magnolia and beacons: how do they work best together?Magnolia and beacons: how do they work best together?
Magnolia and beacons: how do they work best together?
 
Magnolia and the IOT
Magnolia and the IOTMagnolia and the IOT
Magnolia and the IOT
 
Internationalization for globalized enterprise websites
Internationalization for globalized enterprise websitesInternationalization for globalized enterprise websites
Internationalization for globalized enterprise websites
 
The new visana website how to fit a square peg into a round hole
The new visana website   how to fit a square peg into a round holeThe new visana website   how to fit a square peg into a round hole
The new visana website how to fit a square peg into a round hole
 
Solving for complex UI designs: a front-end perspective and approach
Solving for complex UI designs: a front-end perspective and approachSolving for complex UI designs: a front-end perspective and approach
Solving for complex UI designs: a front-end perspective and approach
 
Extending Magnolia with our solutions
Extending Magnolia with our solutionsExtending Magnolia with our solutions
Extending Magnolia with our solutions
 
Boost your online e commerce with magnolia
Boost your online e commerce with magnoliaBoost your online e commerce with magnolia
Boost your online e commerce with magnolia
 
The slick YAML based configuration by file in Magnolia 5.4
The slick YAML based configuration by file in Magnolia 5.4The slick YAML based configuration by file in Magnolia 5.4
The slick YAML based configuration by file in Magnolia 5.4
 
Seamless integration with Magnolia's REST API
Seamless integration with Magnolia's REST APISeamless integration with Magnolia's REST API
Seamless integration with Magnolia's REST API
 
Dynamic page caching for Magnolia 5.4
Dynamic page caching for Magnolia 5.4Dynamic page caching for Magnolia 5.4
Dynamic page caching for Magnolia 5.4
 
An integrated, fail safe e-business platform based on open source solutions
An integrated, fail safe e-business platform based on open source solutionsAn integrated, fail safe e-business platform based on open source solutions
An integrated, fail safe e-business platform based on open source solutions
 
Magnolia conference 2015 - Boris Kraft's keynote
Magnolia conference 2015 - Boris Kraft's keynoteMagnolia conference 2015 - Boris Kraft's keynote
Magnolia conference 2015 - Boris Kraft's keynote
 
From business requirements to the development of magnolia cms.com - personali...
From business requirements to the development of magnolia cms.com - personali...From business requirements to the development of magnolia cms.com - personali...
From business requirements to the development of magnolia cms.com - personali...
 

Último

Optimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTVOptimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTVshikhaohhpro
 
How To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected WorkerHow To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected WorkerThousandEyes
 
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️Delhi Call girls
 
HR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comHR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comFatema Valibhai
 
Exploring the Best Video Editing App.pdf
Exploring the Best Video Editing App.pdfExploring the Best Video Editing App.pdf
Exploring the Best Video Editing App.pdfproinshot.com
 
Azure_Native_Qumulo_High_Performance_Compute_Benchmarks.pdf
Azure_Native_Qumulo_High_Performance_Compute_Benchmarks.pdfAzure_Native_Qumulo_High_Performance_Compute_Benchmarks.pdf
Azure_Native_Qumulo_High_Performance_Compute_Benchmarks.pdfryanfarris8
 
Right Money Management App For Your Financial Goals
Right Money Management App For Your Financial GoalsRight Money Management App For Your Financial Goals
Right Money Management App For Your Financial GoalsJhone kinadey
 
Diamond Application Development Crafting Solutions with Precision
Diamond Application Development Crafting Solutions with PrecisionDiamond Application Development Crafting Solutions with Precision
Diamond Application Development Crafting Solutions with PrecisionSolGuruz
 
10 Trends Likely to Shape Enterprise Technology in 2024
10 Trends Likely to Shape Enterprise Technology in 202410 Trends Likely to Shape Enterprise Technology in 2024
10 Trends Likely to Shape Enterprise Technology in 2024Mind IT Systems
 
AI & Machine Learning Presentation Template
AI & Machine Learning Presentation TemplateAI & Machine Learning Presentation Template
AI & Machine Learning Presentation TemplatePresentation.STUDIO
 
8257 interfacing 2 in microprocessor for btech students
8257 interfacing 2 in microprocessor for btech students8257 interfacing 2 in microprocessor for btech students
8257 interfacing 2 in microprocessor for btech studentsHimanshiGarg82
 
Unlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language ModelsUnlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language Modelsaagamshah0812
 
TECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providerTECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providermohitmore19
 
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time ApplicationsUnveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time ApplicationsAlberto González Trastoy
 
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...Steffen Staab
 
Direct Style Effect Systems - The Print[A] Example - A Comprehension Aid
Direct Style Effect Systems -The Print[A] Example- A Comprehension AidDirect Style Effect Systems -The Print[A] Example- A Comprehension Aid
Direct Style Effect Systems - The Print[A] Example - A Comprehension AidPhilip Schwarz
 
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdfLearn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdfkalichargn70th171
 
A Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docxA Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docxComplianceQuest1
 
Introducing Microsoft’s new Enterprise Work Management (EWM) Solution
Introducing Microsoft’s new Enterprise Work Management (EWM) SolutionIntroducing Microsoft’s new Enterprise Work Management (EWM) Solution
Introducing Microsoft’s new Enterprise Work Management (EWM) SolutionOnePlan Solutions
 

Último (20)

Optimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTVOptimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTV
 
How To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected WorkerHow To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected Worker
 
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
 
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICECHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
 
HR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comHR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.com
 
Exploring the Best Video Editing App.pdf
Exploring the Best Video Editing App.pdfExploring the Best Video Editing App.pdf
Exploring the Best Video Editing App.pdf
 
Azure_Native_Qumulo_High_Performance_Compute_Benchmarks.pdf
Azure_Native_Qumulo_High_Performance_Compute_Benchmarks.pdfAzure_Native_Qumulo_High_Performance_Compute_Benchmarks.pdf
Azure_Native_Qumulo_High_Performance_Compute_Benchmarks.pdf
 
Right Money Management App For Your Financial Goals
Right Money Management App For Your Financial GoalsRight Money Management App For Your Financial Goals
Right Money Management App For Your Financial Goals
 
Diamond Application Development Crafting Solutions with Precision
Diamond Application Development Crafting Solutions with PrecisionDiamond Application Development Crafting Solutions with Precision
Diamond Application Development Crafting Solutions with Precision
 
10 Trends Likely to Shape Enterprise Technology in 2024
10 Trends Likely to Shape Enterprise Technology in 202410 Trends Likely to Shape Enterprise Technology in 2024
10 Trends Likely to Shape Enterprise Technology in 2024
 
AI & Machine Learning Presentation Template
AI & Machine Learning Presentation TemplateAI & Machine Learning Presentation Template
AI & Machine Learning Presentation Template
 
8257 interfacing 2 in microprocessor for btech students
8257 interfacing 2 in microprocessor for btech students8257 interfacing 2 in microprocessor for btech students
8257 interfacing 2 in microprocessor for btech students
 
Unlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language ModelsUnlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language Models
 
TECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providerTECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service provider
 
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time ApplicationsUnveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
 
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
 
Direct Style Effect Systems - The Print[A] Example - A Comprehension Aid
Direct Style Effect Systems -The Print[A] Example- A Comprehension AidDirect Style Effect Systems -The Print[A] Example- A Comprehension Aid
Direct Style Effect Systems - The Print[A] Example - A Comprehension Aid
 
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdfLearn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
 
A Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docxA Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docx
 
Introducing Microsoft’s new Enterprise Work Management (EWM) Solution
Introducing Microsoft’s new Enterprise Work Management (EWM) SolutionIntroducing Microsoft’s new Enterprise Work Management (EWM) Solution
Introducing Microsoft’s new Enterprise Work Management (EWM) Solution
 

Magnolia Performance Tuning and High Availabilty Best Practices

  • 1. If you're not failing 90% of the time, then you're probably not working on sufficiently challenging problems.
  • 2. High Performance and Scalability with Magnolia Marc Korthaus CEO SysEleven GmbH Magnolia Conference 2014
  • 3. About SysEleven 
 Born out of a macnews.de (1997 - 2010†) Founded 2007 in Berlin, 2 datacenters, 50 people (40+ engineers), ISO 27001, Akamai Partner, SuperCache Developer, specialized in Application Management, fully virtualized datacenter, a lot of big iron „If there are two or more ways to do something, and one of those ways can result in a catastrophe, then someone will do it.“
  • 4. Why yet another Hosting Company? • Way to expensive offers from enterprise hosters • nobody offered application expertise for scaling applications • strict budget but application knowledge • … pressure makes diamonds
  • 5. But some definitions first… 
 Scalabilty 
 … is horizontal aka means capacity, serve more users at the same time, reached via clustering (Session sharing, Shared Storage, Load balancing etc.),
 Performance 
 … is vertical, is about zippiness, means to optimize for time to first byte and general load time, needs bigger iron, caching (much cheaper, just do it) and 
 application optimization (a must). !
  • 6. … which actually means: 
 
 Capacity 
 (Our job)
 Performance 
 (your job)
  • 9. Typical eCommerce Server Setup MySQL Master F5 Loadbalancer Shared Storage MySQL-
 Replikation Application Cluster SuperCache (NginX & Couchbase) MySQL Slaves DB Writes DB Reads Prudsys Server FACT Finder Cluster Cache API Backend & Syslog Search Application Server Shared Storage DBS Log 
 Processing Recommendation 
 Engine Cache Frontend Loadbalancing Caching API DBM
  • 10. How to improve Performance • „Normally“ bigger Iron will help, doesn´t really help with bad Application code • SSDs (SAS vs. PCI cards), higher CPU frequency per Thread, more memory • General approach: Optimize for „time to first byte“ • Database Tuning (slow query, read from slave, write to master) • Profile your application: NewRelic, JProfiler, hprof, AppDynamics, DynaTrace • Caching, Caching and Caching
  • 11. Scalabality & Clustering • JackRabbit on different nodes for author and app server (you already knew that) • Big Iron is good, too
 (Hardware Loadbalancers, Web Application Firewalls, DDoS-Protection incl.) • High Performance Shared Storage 
 (go with NetApp or Isilon - don´t even think of working with Linux NFS servers!) • Database clustering
 Master/Master & Master/Slave, maybe even sharding? • Elasticity, automatic deployment (Puppet, Chef, Go), DevOps in general
  • 12. Caching: Ehcache, Varnish & SuperCache • Good ol’ Ehcache is active by default (so good so far) • Passive Caching (Varnish)
 serving full pages (or snippets via ESI), no advanced flushing out of the box, needs a lifetime per URL, no shared memory backend per instances, no warm restart, slow start is painful • Active Caching (SuperCache)
 separates memory backend, infinite Cache Lifetime, active flushing via mapping service, API based, full flexibility • Best is: Client for Magnolia is in development
  • 13. SuperCache in detail Hardware 
 Loadbalancer http-Request Proxy incl. API
 (NginX + Lua) Cache Memory Backend
 (Couchbase Server) Magnolia
 Application Servers Magnolia 
 Authoring Server Hit Miss Tag
  • 14. SuperCache - What´s in for you • RESTful API (not for a single Application), mapping & tags per cache item • infinite Cache Lifetime, no cold cache, even after startup • memory & disk backend, multi level scalability • DDoS proof, very little CPU resources are used (2 Threads) • ESI as a way to combine content of different applications • HTTP Layer 7 Manipulation
  • 15. Cache hit rates Customer C MISS 29 % HIT 71 % Measure your Hitrate! Customer B MISS 87 % HIT 13 % Customer A MISS! 50 % HIT! 50 %
  • 16. How to ruin your cache hit rate • Put sessions in URL • Do lot of AB-Testing (and implement it lousy) • make a lot of content updates (≥ thousands of updates per day) • not having a page with content but a search only site
 
 (…yes, it´s a trend: „Don´t use a CMS, just do a search!“)
  • 17. Time to first byte Application some other cache :-) SuperCache 0,00 Sec. 0,50 Sec. 1,00 Sec. 1,50 Sec. 2,00 Sec.
  • 18. If you're not failing 90% of the time, then you're probably not working on sufficiently challenging problems.