SlideShare a Scribd company logo
1 of 25
Download to read offline
MAGENTO
SCALABILITY
from the trenches
Piotr Karwatka
AGENDA
1. General scalability rules
2. Action Plan โ€“ scalability framework
3. Magento B2B case
1. EAV and indexes,
2. Cache
3. Replication
4. Fine-tuning
4. Magento 2.0
2
THE CHALLENGE
- Good architecture โ€“ a rare good,
- There is no holy grail of scalability,
- Always take custom approach โ€“ measure before
optimizing,
- Start โ€œcheapโ€, scale fast โ€“ risky
- Processes driven over improvisation,
- Redundancy โ€“ scalability goes with availability
- Divide and conquer โ€“ using layers
- Measure and examine bottlenecks,
- Scale only overloaded layers
- Good news: Magento is scalable by design
3
middleware
cache
storage
app
db
HARDWARE APPROACH
At start โ€“ optimize code & use cache (New Relic,
collected to catch bottlenecks); try HHVM, nginx,
OpCache
Vertical: more RAM, more CPUs
+ no code changes required, fast gain
- technology barriers,
- at some point very expensive
Horizontal: more cheap servers
+ high availability when done right,
+ cloud ready,
- often requires code refactoring,
- challenging configuration and dev-ops
4
Cost at scale
ACTION PLAN
Step 1
- use vertical scaling as far as itโ€™s reasonable,
- optimize code to avoid bottlenecks,
- use caching where itโ€™s possible,
- separate database server
- separate static files or/and use CDN,
Step 2
- add additional app servers,
- establish cache cluster,
- use reverse proxy (Varnish)
Step 3
- use database replication,
- scale up using horizontal scaling 5
First go vertical
Then go horizontal
MAGENTO CASE โ€“ THE CHALLENGE
TIM.PL โ€“ largest B2B site in Poland. About 100 000 000EUR /
year
Platform for customers โ€“ offers/inquiries, bulk orders, near real-time
CRM/WMS integration
6
- B2B e-Commerce site with external
integrations (CRM, PIM, ERP, WMS)
- Up to 1.5M SKUโ€™s,
- Up to 2K active concurrent users,
average session time: 4h+,
- About 6000 attributes,
- About 2189 attribute sets,
- 1M+ website calls / day,
- Challenging read/write ratio: 50/50%
- B2B features, site used as
tool/platform; browse/checkout
scenario
We called it MVP.
It worked well to some point...
7
FIRST APPROACH โ€“ 3 years ago
- Cache for blocks enabled,
- FLAT enabled โ€“ but at 5000+ attributes InnoDB limits achieved,
- The code was optimized quite well (weโ€™ve used Ivanโ€™s tips: http://www.
slideshare.net/ivanchepurnyi/making-magento-flying-like-a-rocket-a-set-of-
valuable-tips-for-developers)
- Separated DB server + master-master replication (backup purposes),
- SSD disks (APP + DB), lot of RAM (16GB / server) โ€“ vertical scaling
approach,
- MySQL tuning (IO buffers, InnoDB buffers),
- Apache tuning (connection limits, FPM)
- HHVM tested โ€“ about +50% boost, but no profiling
8
OPTIMIZE AND PROFILE!
Always measure impact of change before implementing it to production
- JMeter โ€“ we used it to emulate throughput and conduct load tests after each
change,
- New Relic โ€“ to analyze application speed, track slow-queries and method-calls;
it can be used on production servers as well because of near-zero overhead
9
- Collectd โ€“ installed on both app and db servers โ€“
weโ€™ve discovered bottlenecks on IO and db-locking
on Magentoโ€™s product indexation,
- Logs โ€“ we used ELK (Kibana) and custom New
Relic integration to diagnose web-services
response times,
- htop, iotop โ€“ during IO problems it can be useful
to find what generates the problem exactly,
- Xdebug/XHProf profiler - on stage servers to
debug and profile code and discover cache gaps,
JMeter
2h load
tests
Fine
tuning
JMeter
24h load
tests
Optimize
one piece
at time
High availability is crucial โ€“ we switched to 2N model
10
master master
App servers + GlusterFS
both servers can handle user reqs.
Haproxy + Varnish โ€“ load balancer
load balancing and reverse proxy for caching and static files
APP & CACHE
- Redis is faster than memcached as backend cache,
- Varnish (with ESI) is a must for both static files and page caching (we used
Turpentine and Phoenix on some projects โ€“ both are fine) - VCL can be challenging,
- We managed to use HAProxy as load balancer (using automatic failover),
- Weโ€™ve added cache to Mage_Catalog_Model_Product::load
- Consider adding cache to Mage_Eav_Model_Entity_Abstract to avoid EAV at all โ€“ we
couldnโ€™t use FLAT because of attributes count,
- We turned on FLAT to 900 most frequently used attributes (InnoDb limits),
- Sessions were moved to Redis,
- We discovered lot of queries to core_url_rewrite - cache should help here,
- We used Fast-Async Reindexing module while using Magento 1.x to avoid
database locking
- GlusterFS used to handle uploads and replication
11
VARNISH IMPACT
12
APP & CACHE
- Remarks
- GlusterFS/network file systems โ€“ stat(), open() without local caching are IO
exhausting,
- we had some issues with APC on PHP 5.4 (segfaults) โ€“ now everybody uses
OpCache โ˜บ
- at some point we switched from Apache to nginx + php-fpm to gain speed req/s
throughput and lower memory usage (read more here: http://info.magento.
com/rs/magentocommerce/images/MagentoECG-
PoweringMagentowithNgnixandPHP-FPM.pdf)
- We had problems with Magento API (really slow responses โ€“ 0.5s);
optimizations = 0.2s + HHVM = 0.1s; next step โ€“ fast responding faรงade without
Magento overhead - http://divante.co/blog/magento-1-9-1-0-page-load-time-0-3s/
- We had problems with Redis clogging with cache Keys (http://divante.
co/blog/magento-clogged-redis-cache/)
13
HHVM IMPACT
14
THE HARD WAY
- Most challenging issues: EAV and indexing
- Will be great to use NoSQL DB (MongoDB, SOLR),
- At this point we use only model-level cache,
- Weโ€™ve disabled Magento logs and reports โ€“ less queries, less
useless data to store,
- Small configuration tips make big difference:
- query_cache_size - up to 128MB works well; furthermore โ€“ cache cleaning can
be really, REALLY slow
- innodb_thread_concurrency - setting to 0 prevents MySQL from clogging
worker threads (looks like itโ€™s locking but it isnโ€™t)
- We switched from MySQL to PerconaDB/XtraDB
- Great gain performance gain on peaks โ€“ queries count vs.
response time โ€“ up to + 275%,
- No code / SQL changes required โ€“ 100% compatible with
MySQL,
- MemSQL โ€“ looks really promising, not tested yet
15
DATABASE CAVEATS
16
Without FLAT in place โ€“ lot of EAV-related quires, also lot of URL-redirect related
queries. Those queries are unnecessary.
HOW TO DISABLE EAV?
โ€“ it will be great if we can switch to NoSQL DB (like MongoDB,
SOLR, Sphinx Search),
โ€“ one can overwrite EAV->FLAT indexers but itโ€™s extremely hard
(relations, some modules works on RAW SQL),
โ€“ suggestions:
- Add cache to Product::load method โ€“ invalidation is
extremely important (you can use modification date in
cache-key or observer based mechanism to clear it up),
- Add cache to load EAV attributes โ€“ for products, product
categories,
- Overwrite/refactor Mage_Catalog โ€“ for searching and
browsing products โ€“ some search modules do this partially,
- Great knowledge base about EAV: http://www.
solvingmagento.com/magento-eav-system/
17
If you cannot use FLAT (categories + products are must) โ€“ itโ€™s too slow or you
have too many attributes
DATABASE SCALABILITY - REPLICATION
With replicas one gets: high availability, more req/s.
It doesnโ€™t fit all cases:
Caution: replication-lags
Itโ€™s possible to move selected tables to
external servers (like product catalogs).
Always consider using cache first!
18
:-
)
:-
(
master slave
mastermaster
master
master
master
TB: users
TB: photos
INDEXATION VS. REPLICATION
- Master-slave replication shall help
with db-locking issue;
- MySQL replicates only
UPDATE/INSERT operations using
binlogs
- this is extremely fast and doesnโ€™t
lock replicas
19
public function processEntityAction(Varien_Object $entity,
$entityType, $eventType)
...
$resourceModel = Mage::getResourceSingleton
('index/process');
$resourceModel->beginTransaction();
$this->_allowTableChanges = false;
try {
$this->indexEvent($event);
$resourceModel->commit();
} catch (Exception $e) {
$resourceModel->rollBack();
if ($allowTableChanges) {
$this->_allowTableChanges = true;
$this->_changeKeyStatus(true);
$this->_currentEvent = null;
}
throw $e;
DATABASE โ€“ NEXT STEPS
- Weโ€™ve tested app-local master-slave replication to avoid network
latency and database-locking
โ€“ Magento supports this kind of replication out of the box,
โ€“ Next step โ€“ move catalog database to separate server,
โ€“ Route Admin panel requests to separated servers (using multi-
master Magento2 feature)
20
master master
App servers + GlusterFS + PerconaDB
local db-slaveโ€™s for read access
Each server can handle user requestsHaproxy & Varnish
load balancer + proxy
Indexing, updates,
Imports, RDBM
INTEGRATIONS
- We use queuing to avoid bottlenecks,
- On each app server there are Gearman workers
(PHP processes) โ€“ responsible for getting prices,
stocks, transferring orders,
- Workers exchange data with CRM, WMS, ERP,
PIM in both async and sync modes โ€“ using
priorities,
- We used Command/Task design pattern,
- We log everything using ELK โ€“ especially
Kibana and New Relic to analyze external
systems
- Magento API can be very challenging (itโ€™s
extremely slow)
21
MONITORING
We use Kibana (ELK stack) and custom New Relic metrics to monitor real-time
integrations (CRM, WMS, ERP)
Zabbix with Sellenium scripts is used to monitor and alert website availability
22
FINAL ARCHITECTURE
23
master master
App servers + GlusterFS + PerconaDB
local db-slaveโ€™s for read access
Each server can handle user requests
Haproxy & Varnish
load balancer + proxy
Gearman queue workers
handle background jobs and external
integrations
API calls
Web requests
External sys. Calls
background jobs
WHAT Iโ€™VE MISSED + MAGENTO 2
- Search โ€“ we used FactFinder / SOLR,
- Details about Varnish and HHVM
- Life is going to be easier: What excites me in Magento2?
โ€“ Materialized views engine โ€“ smarter indexation,
โ€“ Full page caching in community,
โ€“ Multi master DB contexts,
โ€“ Checkout optimizations
24
THANK YOU! QUESTIONS?
25
Technical or scalability challenges?
Contact me to consult your case for free!
Piotr Karwatka (pkarwatka@divante.pl)
Divante โ€“ http://divante.co

More Related Content

What's hot

Speeding up your WordPress Site - WordCamp Toronto 2015
Speeding up your WordPress Site - WordCamp Toronto 2015Speeding up your WordPress Site - WordCamp Toronto 2015
Speeding up your WordPress Site - WordCamp Toronto 2015Alan Lok
ย 
Magento Performance Optimization 101
Magento Performance Optimization 101Magento Performance Optimization 101
Magento Performance Optimization 101Angus Li
ย 
How to reduce database load using Memcache
How to reduce database load using MemcacheHow to reduce database load using Memcache
How to reduce database load using Memcachevaluebound
ย 
JS digest. Decemebr 2017
JS digest. Decemebr 2017JS digest. Decemebr 2017
JS digest. Decemebr 2017ElifTech
ย 
Magento performance
Magento performanceMagento performance
Magento performanceDivante
ย 
PHP and MySQL
PHP and MySQLPHP and MySQL
PHP and MySQLbmani
ย 
Speeding up your WordPress site - WordCamp Hamilton 2015
Speeding up your WordPress site - WordCamp Hamilton 2015Speeding up your WordPress site - WordCamp Hamilton 2015
Speeding up your WordPress site - WordCamp Hamilton 2015Alan Lok
ย 
Improve WordPress performance with caching and deferred execution of code
Improve WordPress performance with caching and deferred execution of codeImprove WordPress performance with caching and deferred execution of code
Improve WordPress performance with caching and deferred execution of codeDanilo Ercoli
ย 
Grav CMS
Grav CMSGrav CMS
Grav CMSbtopro
ย 
Piecing Together the WordPress Puzzle
Piecing Together the WordPress PuzzlePiecing Together the WordPress Puzzle
Piecing Together the WordPress PuzzleBusiness Vitality LLC
ย 
WordPress Development Tools and Best Practices
WordPress Development Tools and Best PracticesWordPress Development Tools and Best Practices
WordPress Development Tools and Best PracticesDanilo Ercoli
ย 
IBM Connect 2016 - AD1548 - Building Responsive XPages Applications
IBM Connect 2016 - AD1548 - Building Responsive XPages ApplicationsIBM Connect 2016 - AD1548 - Building Responsive XPages Applications
IBM Connect 2016 - AD1548 - Building Responsive XPages Applicationsbeglee
ย 
Mobile Hybrid Development with WordPress
Mobile Hybrid Development with WordPressMobile Hybrid Development with WordPress
Mobile Hybrid Development with WordPressDanilo Ercoli
ย 
Wordcamp2009
Wordcamp2009Wordcamp2009
Wordcamp2009joetek
ย 
EXPERIENCE WITH MYSQL HA SOLUTION AND GROUP REPLICATION
EXPERIENCE WITH MYSQL HA SOLUTION AND GROUP REPLICATIONEXPERIENCE WITH MYSQL HA SOLUTION AND GROUP REPLICATION
EXPERIENCE WITH MYSQL HA SOLUTION AND GROUP REPLICATIONMysql User Camp
ย 
WordCamp RVA 2011 - Performance & Tuning
WordCamp RVA 2011 - Performance & TuningWordCamp RVA 2011 - Performance & Tuning
WordCamp RVA 2011 - Performance & TuningTimothy Wood
ย 
PHP Enhancement with Windows Server 2008
PHP Enhancement with Windows Server 2008PHP Enhancement with Windows Server 2008
PHP Enhancement with Windows Server 2008Krit Kamtuo
ย 
The RDBMS You Should Be Using
The RDBMS You Should Be UsingThe RDBMS You Should Be Using
The RDBMS You Should Be UsingColdFusionConference
ย 
Anthony Somerset - Site Speed = Success!
Anthony Somerset - Site Speed = Success!Anthony Somerset - Site Speed = Success!
Anthony Somerset - Site Speed = Success!WordCamp Cape Town
ย 
Scalable Web Architectures: Common Patterns and Approaches - Web 2.0 Expo NYC
Scalable Web Architectures: Common Patterns and Approaches - Web 2.0 Expo NYCScalable Web Architectures: Common Patterns and Approaches - Web 2.0 Expo NYC
Scalable Web Architectures: Common Patterns and Approaches - Web 2.0 Expo NYCCal Henderson
ย 

What's hot (20)

Speeding up your WordPress Site - WordCamp Toronto 2015
Speeding up your WordPress Site - WordCamp Toronto 2015Speeding up your WordPress Site - WordCamp Toronto 2015
Speeding up your WordPress Site - WordCamp Toronto 2015
ย 
Magento Performance Optimization 101
Magento Performance Optimization 101Magento Performance Optimization 101
Magento Performance Optimization 101
ย 
How to reduce database load using Memcache
How to reduce database load using MemcacheHow to reduce database load using Memcache
How to reduce database load using Memcache
ย 
JS digest. Decemebr 2017
JS digest. Decemebr 2017JS digest. Decemebr 2017
JS digest. Decemebr 2017
ย 
Magento performance
Magento performanceMagento performance
Magento performance
ย 
PHP and MySQL
PHP and MySQLPHP and MySQL
PHP and MySQL
ย 
Speeding up your WordPress site - WordCamp Hamilton 2015
Speeding up your WordPress site - WordCamp Hamilton 2015Speeding up your WordPress site - WordCamp Hamilton 2015
Speeding up your WordPress site - WordCamp Hamilton 2015
ย 
Improve WordPress performance with caching and deferred execution of code
Improve WordPress performance with caching and deferred execution of codeImprove WordPress performance with caching and deferred execution of code
Improve WordPress performance with caching and deferred execution of code
ย 
Grav CMS
Grav CMSGrav CMS
Grav CMS
ย 
Piecing Together the WordPress Puzzle
Piecing Together the WordPress PuzzlePiecing Together the WordPress Puzzle
Piecing Together the WordPress Puzzle
ย 
WordPress Development Tools and Best Practices
WordPress Development Tools and Best PracticesWordPress Development Tools and Best Practices
WordPress Development Tools and Best Practices
ย 
IBM Connect 2016 - AD1548 - Building Responsive XPages Applications
IBM Connect 2016 - AD1548 - Building Responsive XPages ApplicationsIBM Connect 2016 - AD1548 - Building Responsive XPages Applications
IBM Connect 2016 - AD1548 - Building Responsive XPages Applications
ย 
Mobile Hybrid Development with WordPress
Mobile Hybrid Development with WordPressMobile Hybrid Development with WordPress
Mobile Hybrid Development with WordPress
ย 
Wordcamp2009
Wordcamp2009Wordcamp2009
Wordcamp2009
ย 
EXPERIENCE WITH MYSQL HA SOLUTION AND GROUP REPLICATION
EXPERIENCE WITH MYSQL HA SOLUTION AND GROUP REPLICATIONEXPERIENCE WITH MYSQL HA SOLUTION AND GROUP REPLICATION
EXPERIENCE WITH MYSQL HA SOLUTION AND GROUP REPLICATION
ย 
WordCamp RVA 2011 - Performance & Tuning
WordCamp RVA 2011 - Performance & TuningWordCamp RVA 2011 - Performance & Tuning
WordCamp RVA 2011 - Performance & Tuning
ย 
PHP Enhancement with Windows Server 2008
PHP Enhancement with Windows Server 2008PHP Enhancement with Windows Server 2008
PHP Enhancement with Windows Server 2008
ย 
The RDBMS You Should Be Using
The RDBMS You Should Be UsingThe RDBMS You Should Be Using
The RDBMS You Should Be Using
ย 
Anthony Somerset - Site Speed = Success!
Anthony Somerset - Site Speed = Success!Anthony Somerset - Site Speed = Success!
Anthony Somerset - Site Speed = Success!
ย 
Scalable Web Architectures: Common Patterns and Approaches - Web 2.0 Expo NYC
Scalable Web Architectures: Common Patterns and Approaches - Web 2.0 Expo NYCScalable Web Architectures: Common Patterns and Approaches - Web 2.0 Expo NYC
Scalable Web Architectures: Common Patterns and Approaches - Web 2.0 Expo NYC
ย 

Viewers also liked

Omnichannel Customer Experience
Omnichannel Customer ExperienceOmnichannel Customer Experience
Omnichannel Customer ExperienceDivante
ย 
Surprising failure factors when implementing eCommerce and Omnichannel eBusiness
Surprising failure factors when implementing eCommerce and Omnichannel eBusinessSurprising failure factors when implementing eCommerce and Omnichannel eBusiness
Surprising failure factors when implementing eCommerce and Omnichannel eBusinessDivante
ย 
Market Research Project on Retail Loyalty Cards
Market Research Project on Retail Loyalty CardsMarket Research Project on Retail Loyalty Cards
Market Research Project on Retail Loyalty CardsDeepali Agarwal
ย 
E-Commerce Integration and Implementation Issues
E-Commerce Integration and Implementation IssuesE-Commerce Integration and Implementation Issues
E-Commerce Integration and Implementation IssuesNurul Izzah
ย 
Growth hacking dla e-Commerce
Growth hacking dla e-CommerceGrowth hacking dla e-Commerce
Growth hacking dla e-CommerceDivante
ย 
Customer Experience Workshop
Customer Experience WorkshopCustomer Experience Workshop
Customer Experience Workshopmcrucera
ย 
Searching higher up the funnel
Searching higher up the funnelSearching higher up the funnel
Searching higher up the funnelJono Alderson
ย 
All You Need to Know About Customer Journey Mapping
All You Need to Know About Customer Journey MappingAll You Need to Know About Customer Journey Mapping
All You Need to Know About Customer Journey MappingRealtimeBoard
ย 
Venture Design Workshop: Business Model Canvas
Venture Design Workshop: Business Model CanvasVenture Design Workshop: Business Model Canvas
Venture Design Workshop: Business Model CanvasAlex Cowan
ย 

Viewers also liked (9)

Omnichannel Customer Experience
Omnichannel Customer ExperienceOmnichannel Customer Experience
Omnichannel Customer Experience
ย 
Surprising failure factors when implementing eCommerce and Omnichannel eBusiness
Surprising failure factors when implementing eCommerce and Omnichannel eBusinessSurprising failure factors when implementing eCommerce and Omnichannel eBusiness
Surprising failure factors when implementing eCommerce and Omnichannel eBusiness
ย 
Market Research Project on Retail Loyalty Cards
Market Research Project on Retail Loyalty CardsMarket Research Project on Retail Loyalty Cards
Market Research Project on Retail Loyalty Cards
ย 
E-Commerce Integration and Implementation Issues
E-Commerce Integration and Implementation IssuesE-Commerce Integration and Implementation Issues
E-Commerce Integration and Implementation Issues
ย 
Growth hacking dla e-Commerce
Growth hacking dla e-CommerceGrowth hacking dla e-Commerce
Growth hacking dla e-Commerce
ย 
Customer Experience Workshop
Customer Experience WorkshopCustomer Experience Workshop
Customer Experience Workshop
ย 
Searching higher up the funnel
Searching higher up the funnelSearching higher up the funnel
Searching higher up the funnel
ย 
All You Need to Know About Customer Journey Mapping
All You Need to Know About Customer Journey MappingAll You Need to Know About Customer Journey Mapping
All You Need to Know About Customer Journey Mapping
ย 
Venture Design Workshop: Business Model Canvas
Venture Design Workshop: Business Model CanvasVenture Design Workshop: Business Model Canvas
Venture Design Workshop: Business Model Canvas
ย 

Similar to Magento scalability from the trenches (Meet Magento Sweden 2016)

AWS (Hadoop) Meetup 30.04.09
AWS (Hadoop) Meetup 30.04.09AWS (Hadoop) Meetup 30.04.09
AWS (Hadoop) Meetup 30.04.09Chris Purrington
ย 
High Performance Web Sites
High Performance Web SitesHigh Performance Web Sites
High Performance Web SitesRavi Raj
ย 
One daytalk hbraun_oct2011
One daytalk hbraun_oct2011One daytalk hbraun_oct2011
One daytalk hbraun_oct2011hbraun
ย 
Extending Piwik At R7.com
Extending Piwik At R7.comExtending Piwik At R7.com
Extending Piwik At R7.comLeo Lorieri
ย 
01 demystifying mysq-lfororacledbaanddeveloperv1
01 demystifying mysq-lfororacledbaanddeveloperv101 demystifying mysq-lfororacledbaanddeveloperv1
01 demystifying mysq-lfororacledbaanddeveloperv1Ivan Ma
ย 
murakumo Cloud Controller
murakumo Cloud Controllermurakumo Cloud Controller
murakumo Cloud ControllerShingo Kawano
ย 
MySQL Performance - Best practices
MySQL Performance - Best practices MySQL Performance - Best practices
MySQL Performance - Best practices Ted Wennmark
ย 
KubeCon 2017: Kubernetes from Dev to Prod
KubeCon 2017: Kubernetes from Dev to ProdKubeCon 2017: Kubernetes from Dev to Prod
KubeCon 2017: Kubernetes from Dev to ProdSubhas Dandapani
ย 
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
ย 
Fundamentals of performance tuning PHP on IBM i
Fundamentals of performance tuning PHP on IBM i  Fundamentals of performance tuning PHP on IBM i
Fundamentals of performance tuning PHP on IBM i Zend by Rogue Wave Software
ย 
PLNOG14: Automation at Brainly - Paweล‚ Rozlach
PLNOG14: Automation at Brainly - Paweล‚ RozlachPLNOG14: Automation at Brainly - Paweล‚ Rozlach
PLNOG14: Automation at Brainly - Paweล‚ RozlachPROIDEA
ย 
PLNOG Automation@Brainly
PLNOG Automation@BrainlyPLNOG Automation@Brainly
PLNOG Automation@Brainlyvespian_256
ย 
OOW09 Ebs Tuning Final
OOW09 Ebs Tuning FinalOOW09 Ebs Tuning Final
OOW09 Ebs Tuning Finaljucaab
ย 
Integrating best of breed open source tools to vitess orchestrator pleu21
Integrating best of breed open source tools to vitess  orchestrator   pleu21Integrating best of breed open source tools to vitess  orchestrator   pleu21
Integrating best of breed open source tools to vitess orchestrator pleu21Alkin Tezuysal
ย 
Magento Imagine eCommerce Conference February 2011: Optimizing Magento For Pe...
Magento Imagine eCommerce Conference February 2011: Optimizing Magento For Pe...Magento Imagine eCommerce Conference February 2011: Optimizing Magento For Pe...
Magento Imagine eCommerce Conference February 2011: Optimizing Magento For Pe...varien
ย 
Magento's Imagine eCommerce Conference 2011 - Hosting Magento: Performance an...
Magento's Imagine eCommerce Conference 2011 - Hosting Magento: Performance an...Magento's Imagine eCommerce Conference 2011 - Hosting Magento: Performance an...
Magento's Imagine eCommerce Conference 2011 - Hosting Magento: Performance an...MagentoImagine
ย 
PHP Performance tuning for Drupal 8
PHP Performance tuning for Drupal 8PHP Performance tuning for Drupal 8
PHP Performance tuning for Drupal 8Acquia
ย 
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
ย 

Similar to Magento scalability from the trenches (Meet Magento Sweden 2016) (20)

AWS (Hadoop) Meetup 30.04.09
AWS (Hadoop) Meetup 30.04.09AWS (Hadoop) Meetup 30.04.09
AWS (Hadoop) Meetup 30.04.09
ย 
High Performance Web Sites
High Performance Web SitesHigh Performance Web Sites
High Performance Web Sites
ย 
One daytalk hbraun_oct2011
One daytalk hbraun_oct2011One daytalk hbraun_oct2011
One daytalk hbraun_oct2011
ย 
Extending Piwik At R7.com
Extending Piwik At R7.comExtending Piwik At R7.com
Extending Piwik At R7.com
ย 
01 demystifying mysq-lfororacledbaanddeveloperv1
01 demystifying mysq-lfororacledbaanddeveloperv101 demystifying mysq-lfororacledbaanddeveloperv1
01 demystifying mysq-lfororacledbaanddeveloperv1
ย 
Kash Kubernetified
Kash KubernetifiedKash Kubernetified
Kash Kubernetified
ย 
murakumo Cloud Controller
murakumo Cloud Controllermurakumo Cloud Controller
murakumo Cloud Controller
ย 
MySQL Performance - Best practices
MySQL Performance - Best practices MySQL Performance - Best practices
MySQL Performance - Best practices
ย 
KubeCon 2017: Kubernetes from Dev to Prod
KubeCon 2017: Kubernetes from Dev to ProdKubeCon 2017: Kubernetes from Dev to Prod
KubeCon 2017: Kubernetes from Dev to Prod
ย 
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
ย 
Fundamentals of performance tuning PHP on IBM i
Fundamentals of performance tuning PHP on IBM i  Fundamentals of performance tuning PHP on IBM i
Fundamentals of performance tuning PHP on IBM i
ย 
ESIGate dev meeting #4 21-11-2013
ESIGate dev meeting #4 21-11-2013ESIGate dev meeting #4 21-11-2013
ESIGate dev meeting #4 21-11-2013
ย 
PLNOG14: Automation at Brainly - Paweล‚ Rozlach
PLNOG14: Automation at Brainly - Paweล‚ RozlachPLNOG14: Automation at Brainly - Paweล‚ Rozlach
PLNOG14: Automation at Brainly - Paweล‚ Rozlach
ย 
PLNOG Automation@Brainly
PLNOG Automation@BrainlyPLNOG Automation@Brainly
PLNOG Automation@Brainly
ย 
OOW09 Ebs Tuning Final
OOW09 Ebs Tuning FinalOOW09 Ebs Tuning Final
OOW09 Ebs Tuning Final
ย 
Integrating best of breed open source tools to vitess orchestrator pleu21
Integrating best of breed open source tools to vitess  orchestrator   pleu21Integrating best of breed open source tools to vitess  orchestrator   pleu21
Integrating best of breed open source tools to vitess orchestrator pleu21
ย 
Magento Imagine eCommerce Conference February 2011: Optimizing Magento For Pe...
Magento Imagine eCommerce Conference February 2011: Optimizing Magento For Pe...Magento Imagine eCommerce Conference February 2011: Optimizing Magento For Pe...
Magento Imagine eCommerce Conference February 2011: Optimizing Magento For Pe...
ย 
Magento's Imagine eCommerce Conference 2011 - Hosting Magento: Performance an...
Magento's Imagine eCommerce Conference 2011 - Hosting Magento: Performance an...Magento's Imagine eCommerce Conference 2011 - Hosting Magento: Performance an...
Magento's Imagine eCommerce Conference 2011 - Hosting Magento: Performance an...
ย 
PHP Performance tuning for Drupal 8
PHP Performance tuning for Drupal 8PHP Performance tuning for Drupal 8
PHP Performance tuning for Drupal 8
ย 
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
ย 

More from Divante

The eCommerce Platforms in the Global Setup
The eCommerce Platforms in the Global Setup	The eCommerce Platforms in the Global Setup
The eCommerce Platforms in the Global Setup Divante
ย 
eCommerce Trends 2020
eCommerce Trends 2020eCommerce Trends 2020
eCommerce Trends 2020Divante
ย 
Async & Bulk REST API new possibilities of communication between systems
Async & Bulk REST API new possibilities of communication  between systemsAsync & Bulk REST API new possibilities of communication  between systems
Async & Bulk REST API new possibilities of communication between systemsDivante
ย 
Magento Functional Testing Framework a way to seriously write automated tests...
Magento Functional Testing Framework a way to seriously write automated tests...Magento Functional Testing Framework a way to seriously write automated tests...
Magento Functional Testing Framework a way to seriously write automated tests...Divante
ย 
Die Top 10 Progressive Web Apps in der Modernbranche
Die Top 10 Progressive Web Apps in der ModernbrancheDie Top 10 Progressive Web Apps in der Modernbranche
Die Top 10 Progressive Web Apps in der ModernbrancheDivante
ย 
progressive web apps - pwa as a game changer for e-commerce - meet magento i...
 progressive web apps - pwa as a game changer for e-commerce - meet magento i... progressive web apps - pwa as a game changer for e-commerce - meet magento i...
progressive web apps - pwa as a game changer for e-commerce - meet magento i...Divante
ย 
Customer churn - how to stop it?
Customer churn - how to stop it?Customer churn - how to stop it?
Customer churn - how to stop it?Divante
ย 
eCommerce trends 2019 by Divante.co
eCommerce trends 2019 by Divante.coeCommerce trends 2019 by Divante.co
eCommerce trends 2019 by Divante.coDivante
ย 
How to create a Vue Storefront theme
How to create a Vue Storefront themeHow to create a Vue Storefront theme
How to create a Vue Storefront themeDivante
ย 
Game changer for e-commerce - Vue Storefront - open source pwa
Game changer for e-commerce - Vue Storefront - open source pwa Game changer for e-commerce - Vue Storefront - open source pwa
Game changer for e-commerce - Vue Storefront - open source pwa Divante
ย 
Vue Storefront - Progressive Web App for Magento (1.9, 2.x) - MM18DE speech
Vue Storefront - Progressive Web App for Magento (1.9, 2.x) - MM18DE speechVue Storefront - Progressive Web App for Magento (1.9, 2.x) - MM18DE speech
Vue Storefront - Progressive Web App for Magento (1.9, 2.x) - MM18DE speechDivante
ย 
How to successfully onboard end-clients to a B2B Platform - Magento Imagine ...
How to successfully onboard  end-clients to a B2B Platform - Magento Imagine ...How to successfully onboard  end-clients to a B2B Platform - Magento Imagine ...
How to successfully onboard end-clients to a B2B Platform - Magento Imagine ...Divante
ย 
eCommerce trends from 2017 to 2018 by Divante.co
eCommerce trends from 2017 to 2018 by Divante.coeCommerce trends from 2017 to 2018 by Divante.co
eCommerce trends from 2017 to 2018 by Divante.coDivante
ย 
Designing for PWA (Progressive Web Apps)
Designing for PWA (Progressive Web Apps)Designing for PWA (Progressive Web Apps)
Designing for PWA (Progressive Web Apps)Divante
ย 
Why is crud a bad idea - focus on real scenarios
Why is crud a bad idea - focus on real scenariosWhy is crud a bad idea - focus on real scenarios
Why is crud a bad idea - focus on real scenariosDivante
ย 
vue-storefront - PWA eCommerce for Magento2 MM17NYC presentation
vue-storefront - PWA eCommerce for Magento2 MM17NYC presentationvue-storefront - PWA eCommerce for Magento2 MM17NYC presentation
vue-storefront - PWA eCommerce for Magento2 MM17NYC presentationDivante
ย 
Pimcore Overview - Pimcore5
Pimcore Overview - Pimcore5Pimcore Overview - Pimcore5
Pimcore Overview - Pimcore5Divante
ย 
Pimcore E-Commerce Framework - Pimcore5
Pimcore E-Commerce Framework - Pimcore5Pimcore E-Commerce Framework - Pimcore5
Pimcore E-Commerce Framework - Pimcore5Divante
ย 
The biggest stores on Magento
The biggest stores on MagentoThe biggest stores on Magento
The biggest stores on MagentoDivante
ย 
B2B Commerce - how to become successful
B2B Commerce - how to become successfulB2B Commerce - how to become successful
B2B Commerce - how to become successfulDivante
ย 

More from Divante (20)

The eCommerce Platforms in the Global Setup
The eCommerce Platforms in the Global Setup	The eCommerce Platforms in the Global Setup
The eCommerce Platforms in the Global Setup
ย 
eCommerce Trends 2020
eCommerce Trends 2020eCommerce Trends 2020
eCommerce Trends 2020
ย 
Async & Bulk REST API new possibilities of communication between systems
Async & Bulk REST API new possibilities of communication  between systemsAsync & Bulk REST API new possibilities of communication  between systems
Async & Bulk REST API new possibilities of communication between systems
ย 
Magento Functional Testing Framework a way to seriously write automated tests...
Magento Functional Testing Framework a way to seriously write automated tests...Magento Functional Testing Framework a way to seriously write automated tests...
Magento Functional Testing Framework a way to seriously write automated tests...
ย 
Die Top 10 Progressive Web Apps in der Modernbranche
Die Top 10 Progressive Web Apps in der ModernbrancheDie Top 10 Progressive Web Apps in der Modernbranche
Die Top 10 Progressive Web Apps in der Modernbranche
ย 
progressive web apps - pwa as a game changer for e-commerce - meet magento i...
 progressive web apps - pwa as a game changer for e-commerce - meet magento i... progressive web apps - pwa as a game changer for e-commerce - meet magento i...
progressive web apps - pwa as a game changer for e-commerce - meet magento i...
ย 
Customer churn - how to stop it?
Customer churn - how to stop it?Customer churn - how to stop it?
Customer churn - how to stop it?
ย 
eCommerce trends 2019 by Divante.co
eCommerce trends 2019 by Divante.coeCommerce trends 2019 by Divante.co
eCommerce trends 2019 by Divante.co
ย 
How to create a Vue Storefront theme
How to create a Vue Storefront themeHow to create a Vue Storefront theme
How to create a Vue Storefront theme
ย 
Game changer for e-commerce - Vue Storefront - open source pwa
Game changer for e-commerce - Vue Storefront - open source pwa Game changer for e-commerce - Vue Storefront - open source pwa
Game changer for e-commerce - Vue Storefront - open source pwa
ย 
Vue Storefront - Progressive Web App for Magento (1.9, 2.x) - MM18DE speech
Vue Storefront - Progressive Web App for Magento (1.9, 2.x) - MM18DE speechVue Storefront - Progressive Web App for Magento (1.9, 2.x) - MM18DE speech
Vue Storefront - Progressive Web App for Magento (1.9, 2.x) - MM18DE speech
ย 
How to successfully onboard end-clients to a B2B Platform - Magento Imagine ...
How to successfully onboard  end-clients to a B2B Platform - Magento Imagine ...How to successfully onboard  end-clients to a B2B Platform - Magento Imagine ...
How to successfully onboard end-clients to a B2B Platform - Magento Imagine ...
ย 
eCommerce trends from 2017 to 2018 by Divante.co
eCommerce trends from 2017 to 2018 by Divante.coeCommerce trends from 2017 to 2018 by Divante.co
eCommerce trends from 2017 to 2018 by Divante.co
ย 
Designing for PWA (Progressive Web Apps)
Designing for PWA (Progressive Web Apps)Designing for PWA (Progressive Web Apps)
Designing for PWA (Progressive Web Apps)
ย 
Why is crud a bad idea - focus on real scenarios
Why is crud a bad idea - focus on real scenariosWhy is crud a bad idea - focus on real scenarios
Why is crud a bad idea - focus on real scenarios
ย 
vue-storefront - PWA eCommerce for Magento2 MM17NYC presentation
vue-storefront - PWA eCommerce for Magento2 MM17NYC presentationvue-storefront - PWA eCommerce for Magento2 MM17NYC presentation
vue-storefront - PWA eCommerce for Magento2 MM17NYC presentation
ย 
Pimcore Overview - Pimcore5
Pimcore Overview - Pimcore5Pimcore Overview - Pimcore5
Pimcore Overview - Pimcore5
ย 
Pimcore E-Commerce Framework - Pimcore5
Pimcore E-Commerce Framework - Pimcore5Pimcore E-Commerce Framework - Pimcore5
Pimcore E-Commerce Framework - Pimcore5
ย 
The biggest stores on Magento
The biggest stores on MagentoThe biggest stores on Magento
The biggest stores on Magento
ย 
B2B Commerce - how to become successful
B2B Commerce - how to become successfulB2B Commerce - how to become successful
B2B Commerce - how to become successful
ย 

Recently uploaded

Real Escorts in Al Nahda +971524965298 Dubai Escorts Service
Real Escorts in Al Nahda +971524965298 Dubai Escorts ServiceReal Escorts in Al Nahda +971524965298 Dubai Escorts Service
Real Escorts in Al Nahda +971524965298 Dubai Escorts ServiceEscorts Call Girls
ย 
2nd Solid Symposium: Solid Pods vs Personal Knowledge Graphs
2nd Solid Symposium: Solid Pods vs Personal Knowledge Graphs2nd Solid Symposium: Solid Pods vs Personal Knowledge Graphs
2nd Solid Symposium: Solid Pods vs Personal Knowledge GraphsEleniIlkou
ย 
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.pdfMatthew Sinclair
ย 
( Pune ) VIP Pimpri Chinchwad Call Girls ๐ŸŽ—๏ธ 9352988975 Sizzling | Escorts | G...
( Pune ) VIP Pimpri Chinchwad Call Girls ๐ŸŽ—๏ธ 9352988975 Sizzling | Escorts | G...( Pune ) VIP Pimpri Chinchwad Call Girls ๐ŸŽ—๏ธ 9352988975 Sizzling | Escorts | G...
( Pune ) VIP Pimpri Chinchwad Call Girls ๐ŸŽ—๏ธ 9352988975 Sizzling | Escorts | G...nilamkumrai
ย 
Busty DesiโšกCall Girls in Vasundhara Ghaziabad >เผ’8448380779 Escort Service
Busty DesiโšกCall Girls in Vasundhara Ghaziabad >เผ’8448380779 Escort ServiceBusty DesiโšกCall Girls in Vasundhara Ghaziabad >เผ’8448380779 Escort Service
Busty DesiโšกCall Girls in Vasundhara Ghaziabad >เผ’8448380779 Escort ServiceDelhi Call girls
ย 
Dubai=Desi Dubai Call Girls O525547819 Outdoor Call Girls Dubai
Dubai=Desi Dubai Call Girls O525547819 Outdoor Call Girls DubaiDubai=Desi Dubai Call Girls O525547819 Outdoor Call Girls Dubai
Dubai=Desi Dubai Call Girls O525547819 Outdoor Call Girls Dubaikojalkojal131
ย 
VIP Call Girls Himatnagar 7001035870 Whatsapp Number, 24/07 Booking
VIP Call Girls Himatnagar 7001035870 Whatsapp Number, 24/07 BookingVIP Call Girls Himatnagar 7001035870 Whatsapp Number, 24/07 Booking
VIP Call Girls Himatnagar 7001035870 Whatsapp Number, 24/07 Bookingdharasingh5698
ย 
( Pune ) VIP Baner Call Girls ๐ŸŽ—๏ธ 9352988975 Sizzling | Escorts | Girls Are Re...
( Pune ) VIP Baner Call Girls ๐ŸŽ—๏ธ 9352988975 Sizzling | Escorts | Girls Are Re...( Pune ) VIP Baner Call Girls ๐ŸŽ—๏ธ 9352988975 Sizzling | Escorts | Girls Are Re...
( Pune ) VIP Baner Call Girls ๐ŸŽ—๏ธ 9352988975 Sizzling | Escorts | Girls Are Re...nilamkumrai
ย 
VIP Call Girls Pollachi 7001035870 Whatsapp Number, 24/07 Booking
VIP Call Girls Pollachi 7001035870 Whatsapp Number, 24/07 BookingVIP Call Girls Pollachi 7001035870 Whatsapp Number, 24/07 Booking
VIP Call Girls Pollachi 7001035870 Whatsapp Number, 24/07 Bookingdharasingh5698
ย 
Call Girls Ludhiana Just Call 98765-12871 Top Class Call Girl Service Available
Call Girls Ludhiana Just Call 98765-12871 Top Class Call Girl Service AvailableCall Girls Ludhiana Just Call 98765-12871 Top Class Call Girl Service Available
Call Girls Ludhiana Just Call 98765-12871 Top Class Call Girl Service AvailableSeo
ย 
๐Ÿ’š๐Ÿ˜‹ Bilaspur Escort Service Call Girls, 9352852248 โ‚น5000 To 25K With AC๐Ÿ’š๐Ÿ˜‹
๐Ÿ’š๐Ÿ˜‹ Bilaspur Escort Service Call Girls, 9352852248 โ‚น5000 To 25K With AC๐Ÿ’š๐Ÿ˜‹๐Ÿ’š๐Ÿ˜‹ Bilaspur Escort Service Call Girls, 9352852248 โ‚น5000 To 25K With AC๐Ÿ’š๐Ÿ˜‹
๐Ÿ’š๐Ÿ˜‹ Bilaspur Escort Service Call Girls, 9352852248 โ‚น5000 To 25K With AC๐Ÿ’š๐Ÿ˜‹nirzagarg
ย 
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.pdfMatthew Sinclair
ย 
Hireโ† Young Call Girls in Tilak nagar (Delhi) โ˜Ž๏ธ 9205541914 โ˜Ž๏ธ Independent Esc...
Hireโ† Young Call Girls in Tilak nagar (Delhi) โ˜Ž๏ธ 9205541914 โ˜Ž๏ธ Independent Esc...Hireโ† Young Call Girls in Tilak nagar (Delhi) โ˜Ž๏ธ 9205541914 โ˜Ž๏ธ Independent Esc...
Hireโ† Young Call Girls in Tilak nagar (Delhi) โ˜Ž๏ธ 9205541914 โ˜Ž๏ธ Independent Esc...Delhi Call girls
ย 
VIP Model Call Girls NIBM ( Pune ) Call ON 8005736733 Starting From 5K to 25K...
VIP Model Call Girls NIBM ( Pune ) Call ON 8005736733 Starting From 5K to 25K...VIP Model Call Girls NIBM ( Pune ) Call ON 8005736733 Starting From 5K to 25K...
VIP Model Call Girls NIBM ( Pune ) Call ON 8005736733 Starting From 5K to 25K...SUHANI PANDEY
ย 
โžฅ๐Ÿ” 7737669865 ๐Ÿ”โ–ป mehsana Call-girls in Women Seeking Men ๐Ÿ”mehsana๐Ÿ” Escorts...
โžฅ๐Ÿ” 7737669865 ๐Ÿ”โ–ป mehsana Call-girls in Women Seeking Men  ๐Ÿ”mehsana๐Ÿ”   Escorts...โžฅ๐Ÿ” 7737669865 ๐Ÿ”โ–ป mehsana Call-girls in Women Seeking Men  ๐Ÿ”mehsana๐Ÿ”   Escorts...
โžฅ๐Ÿ” 7737669865 ๐Ÿ”โ–ป mehsana Call-girls in Women Seeking Men ๐Ÿ”mehsana๐Ÿ” Escorts...nirzagarg
ย 
Call Girls Sangvi Call Me 7737669865 Budget Friendly No Advance BookingCall G...
Call Girls Sangvi Call Me 7737669865 Budget Friendly No Advance BookingCall G...Call Girls Sangvi Call Me 7737669865 Budget Friendly No Advance BookingCall G...
Call Girls Sangvi Call Me 7737669865 Budget Friendly No Advance BookingCall G...roncy bisnoi
ย 
Pirangut | Call Girls Pune Phone No 8005736733 Elite Escort Service Available...
Pirangut | Call Girls Pune Phone No 8005736733 Elite Escort Service Available...Pirangut | Call Girls Pune Phone No 8005736733 Elite Escort Service Available...
Pirangut | Call Girls Pune Phone No 8005736733 Elite Escort Service Available...SUHANI PANDEY
ย 
Call Now โ˜Ž 8264348440 !! Call Girls in Green Park Escort Service Delhi N.C.R.
Call Now โ˜Ž 8264348440 !! Call Girls in Green Park Escort Service Delhi N.C.R.Call Now โ˜Ž 8264348440 !! Call Girls in Green Park Escort Service Delhi N.C.R.
Call Now โ˜Ž 8264348440 !! Call Girls in Green Park Escort Service Delhi N.C.R.soniya singh
ย 
Microsoft Azure Arc Customer Deck Microsoft
Microsoft Azure Arc Customer Deck MicrosoftMicrosoft Azure Arc Customer Deck Microsoft
Microsoft Azure Arc Customer Deck MicrosoftAanSulistiyo
ย 

Recently uploaded (20)

Real Escorts in Al Nahda +971524965298 Dubai Escorts Service
Real Escorts in Al Nahda +971524965298 Dubai Escorts ServiceReal Escorts in Al Nahda +971524965298 Dubai Escorts Service
Real Escorts in Al Nahda +971524965298 Dubai Escorts Service
ย 
2nd Solid Symposium: Solid Pods vs Personal Knowledge Graphs
2nd Solid Symposium: Solid Pods vs Personal Knowledge Graphs2nd Solid Symposium: Solid Pods vs Personal Knowledge Graphs
2nd Solid Symposium: Solid Pods vs Personal Knowledge Graphs
ย 
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
ย 
( Pune ) VIP Pimpri Chinchwad Call Girls ๐ŸŽ—๏ธ 9352988975 Sizzling | Escorts | G...
( Pune ) VIP Pimpri Chinchwad Call Girls ๐ŸŽ—๏ธ 9352988975 Sizzling | Escorts | G...( Pune ) VIP Pimpri Chinchwad Call Girls ๐ŸŽ—๏ธ 9352988975 Sizzling | Escorts | G...
( Pune ) VIP Pimpri Chinchwad Call Girls ๐ŸŽ—๏ธ 9352988975 Sizzling | Escorts | G...
ย 
valsad Escorts Service โ˜Ž๏ธ 6378878445 ( Sakshi Sinha ) High Profile Call Girls...
valsad Escorts Service โ˜Ž๏ธ 6378878445 ( Sakshi Sinha ) High Profile Call Girls...valsad Escorts Service โ˜Ž๏ธ 6378878445 ( Sakshi Sinha ) High Profile Call Girls...
valsad Escorts Service โ˜Ž๏ธ 6378878445 ( Sakshi Sinha ) High Profile Call Girls...
ย 
Busty DesiโšกCall Girls in Vasundhara Ghaziabad >เผ’8448380779 Escort Service
Busty DesiโšกCall Girls in Vasundhara Ghaziabad >เผ’8448380779 Escort ServiceBusty DesiโšกCall Girls in Vasundhara Ghaziabad >เผ’8448380779 Escort Service
Busty DesiโšกCall Girls in Vasundhara Ghaziabad >เผ’8448380779 Escort Service
ย 
Dubai=Desi Dubai Call Girls O525547819 Outdoor Call Girls Dubai
Dubai=Desi Dubai Call Girls O525547819 Outdoor Call Girls DubaiDubai=Desi Dubai Call Girls O525547819 Outdoor Call Girls Dubai
Dubai=Desi Dubai Call Girls O525547819 Outdoor Call Girls Dubai
ย 
VIP Call Girls Himatnagar 7001035870 Whatsapp Number, 24/07 Booking
VIP Call Girls Himatnagar 7001035870 Whatsapp Number, 24/07 BookingVIP Call Girls Himatnagar 7001035870 Whatsapp Number, 24/07 Booking
VIP Call Girls Himatnagar 7001035870 Whatsapp Number, 24/07 Booking
ย 
( Pune ) VIP Baner Call Girls ๐ŸŽ—๏ธ 9352988975 Sizzling | Escorts | Girls Are Re...
( Pune ) VIP Baner Call Girls ๐ŸŽ—๏ธ 9352988975 Sizzling | Escorts | Girls Are Re...( Pune ) VIP Baner Call Girls ๐ŸŽ—๏ธ 9352988975 Sizzling | Escorts | Girls Are Re...
( Pune ) VIP Baner Call Girls ๐ŸŽ—๏ธ 9352988975 Sizzling | Escorts | Girls Are Re...
ย 
VIP Call Girls Pollachi 7001035870 Whatsapp Number, 24/07 Booking
VIP Call Girls Pollachi 7001035870 Whatsapp Number, 24/07 BookingVIP Call Girls Pollachi 7001035870 Whatsapp Number, 24/07 Booking
VIP Call Girls Pollachi 7001035870 Whatsapp Number, 24/07 Booking
ย 
Call Girls Ludhiana Just Call 98765-12871 Top Class Call Girl Service Available
Call Girls Ludhiana Just Call 98765-12871 Top Class Call Girl Service AvailableCall Girls Ludhiana Just Call 98765-12871 Top Class Call Girl Service Available
Call Girls Ludhiana Just Call 98765-12871 Top Class Call Girl Service Available
ย 
๐Ÿ’š๐Ÿ˜‹ Bilaspur Escort Service Call Girls, 9352852248 โ‚น5000 To 25K With AC๐Ÿ’š๐Ÿ˜‹
๐Ÿ’š๐Ÿ˜‹ Bilaspur Escort Service Call Girls, 9352852248 โ‚น5000 To 25K With AC๐Ÿ’š๐Ÿ˜‹๐Ÿ’š๐Ÿ˜‹ Bilaspur Escort Service Call Girls, 9352852248 โ‚น5000 To 25K With AC๐Ÿ’š๐Ÿ˜‹
๐Ÿ’š๐Ÿ˜‹ Bilaspur Escort Service Call Girls, 9352852248 โ‚น5000 To 25K With AC๐Ÿ’š๐Ÿ˜‹
ย 
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
ย 
Hireโ† Young Call Girls in Tilak nagar (Delhi) โ˜Ž๏ธ 9205541914 โ˜Ž๏ธ Independent Esc...
Hireโ† Young Call Girls in Tilak nagar (Delhi) โ˜Ž๏ธ 9205541914 โ˜Ž๏ธ Independent Esc...Hireโ† Young Call Girls in Tilak nagar (Delhi) โ˜Ž๏ธ 9205541914 โ˜Ž๏ธ Independent Esc...
Hireโ† Young Call Girls in Tilak nagar (Delhi) โ˜Ž๏ธ 9205541914 โ˜Ž๏ธ Independent Esc...
ย 
VIP Model Call Girls NIBM ( Pune ) Call ON 8005736733 Starting From 5K to 25K...
VIP Model Call Girls NIBM ( Pune ) Call ON 8005736733 Starting From 5K to 25K...VIP Model Call Girls NIBM ( Pune ) Call ON 8005736733 Starting From 5K to 25K...
VIP Model Call Girls NIBM ( Pune ) Call ON 8005736733 Starting From 5K to 25K...
ย 
โžฅ๐Ÿ” 7737669865 ๐Ÿ”โ–ป mehsana Call-girls in Women Seeking Men ๐Ÿ”mehsana๐Ÿ” Escorts...
โžฅ๐Ÿ” 7737669865 ๐Ÿ”โ–ป mehsana Call-girls in Women Seeking Men  ๐Ÿ”mehsana๐Ÿ”   Escorts...โžฅ๐Ÿ” 7737669865 ๐Ÿ”โ–ป mehsana Call-girls in Women Seeking Men  ๐Ÿ”mehsana๐Ÿ”   Escorts...
โžฅ๐Ÿ” 7737669865 ๐Ÿ”โ–ป mehsana Call-girls in Women Seeking Men ๐Ÿ”mehsana๐Ÿ” Escorts...
ย 
Call Girls Sangvi Call Me 7737669865 Budget Friendly No Advance BookingCall G...
Call Girls Sangvi Call Me 7737669865 Budget Friendly No Advance BookingCall G...Call Girls Sangvi Call Me 7737669865 Budget Friendly No Advance BookingCall G...
Call Girls Sangvi Call Me 7737669865 Budget Friendly No Advance BookingCall G...
ย 
Pirangut | Call Girls Pune Phone No 8005736733 Elite Escort Service Available...
Pirangut | Call Girls Pune Phone No 8005736733 Elite Escort Service Available...Pirangut | Call Girls Pune Phone No 8005736733 Elite Escort Service Available...
Pirangut | Call Girls Pune Phone No 8005736733 Elite Escort Service Available...
ย 
Call Now โ˜Ž 8264348440 !! Call Girls in Green Park Escort Service Delhi N.C.R.
Call Now โ˜Ž 8264348440 !! Call Girls in Green Park Escort Service Delhi N.C.R.Call Now โ˜Ž 8264348440 !! Call Girls in Green Park Escort Service Delhi N.C.R.
Call Now โ˜Ž 8264348440 !! Call Girls in Green Park Escort Service Delhi N.C.R.
ย 
Microsoft Azure Arc Customer Deck Microsoft
Microsoft Azure Arc Customer Deck MicrosoftMicrosoft Azure Arc Customer Deck Microsoft
Microsoft Azure Arc Customer Deck Microsoft
ย 

Magento scalability from the trenches (Meet Magento Sweden 2016)

  • 2. AGENDA 1. General scalability rules 2. Action Plan โ€“ scalability framework 3. Magento B2B case 1. EAV and indexes, 2. Cache 3. Replication 4. Fine-tuning 4. Magento 2.0 2
  • 3. THE CHALLENGE - Good architecture โ€“ a rare good, - There is no holy grail of scalability, - Always take custom approach โ€“ measure before optimizing, - Start โ€œcheapโ€, scale fast โ€“ risky - Processes driven over improvisation, - Redundancy โ€“ scalability goes with availability - Divide and conquer โ€“ using layers - Measure and examine bottlenecks, - Scale only overloaded layers - Good news: Magento is scalable by design 3 middleware cache storage app db
  • 4. HARDWARE APPROACH At start โ€“ optimize code & use cache (New Relic, collected to catch bottlenecks); try HHVM, nginx, OpCache Vertical: more RAM, more CPUs + no code changes required, fast gain - technology barriers, - at some point very expensive Horizontal: more cheap servers + high availability when done right, + cloud ready, - often requires code refactoring, - challenging configuration and dev-ops 4 Cost at scale
  • 5. ACTION PLAN Step 1 - use vertical scaling as far as itโ€™s reasonable, - optimize code to avoid bottlenecks, - use caching where itโ€™s possible, - separate database server - separate static files or/and use CDN, Step 2 - add additional app servers, - establish cache cluster, - use reverse proxy (Varnish) Step 3 - use database replication, - scale up using horizontal scaling 5 First go vertical Then go horizontal
  • 6. MAGENTO CASE โ€“ THE CHALLENGE TIM.PL โ€“ largest B2B site in Poland. About 100 000 000EUR / year Platform for customers โ€“ offers/inquiries, bulk orders, near real-time CRM/WMS integration 6 - B2B e-Commerce site with external integrations (CRM, PIM, ERP, WMS) - Up to 1.5M SKUโ€™s, - Up to 2K active concurrent users, average session time: 4h+, - About 6000 attributes, - About 2189 attribute sets, - 1M+ website calls / day, - Challenging read/write ratio: 50/50% - B2B features, site used as tool/platform; browse/checkout scenario
  • 7. We called it MVP. It worked well to some point... 7
  • 8. FIRST APPROACH โ€“ 3 years ago - Cache for blocks enabled, - FLAT enabled โ€“ but at 5000+ attributes InnoDB limits achieved, - The code was optimized quite well (weโ€™ve used Ivanโ€™s tips: http://www. slideshare.net/ivanchepurnyi/making-magento-flying-like-a-rocket-a-set-of- valuable-tips-for-developers) - Separated DB server + master-master replication (backup purposes), - SSD disks (APP + DB), lot of RAM (16GB / server) โ€“ vertical scaling approach, - MySQL tuning (IO buffers, InnoDB buffers), - Apache tuning (connection limits, FPM) - HHVM tested โ€“ about +50% boost, but no profiling 8
  • 9. OPTIMIZE AND PROFILE! Always measure impact of change before implementing it to production - JMeter โ€“ we used it to emulate throughput and conduct load tests after each change, - New Relic โ€“ to analyze application speed, track slow-queries and method-calls; it can be used on production servers as well because of near-zero overhead 9 - Collectd โ€“ installed on both app and db servers โ€“ weโ€™ve discovered bottlenecks on IO and db-locking on Magentoโ€™s product indexation, - Logs โ€“ we used ELK (Kibana) and custom New Relic integration to diagnose web-services response times, - htop, iotop โ€“ during IO problems it can be useful to find what generates the problem exactly, - Xdebug/XHProf profiler - on stage servers to debug and profile code and discover cache gaps, JMeter 2h load tests Fine tuning JMeter 24h load tests Optimize one piece at time
  • 10. High availability is crucial โ€“ we switched to 2N model 10 master master App servers + GlusterFS both servers can handle user reqs. Haproxy + Varnish โ€“ load balancer load balancing and reverse proxy for caching and static files
  • 11. APP & CACHE - Redis is faster than memcached as backend cache, - Varnish (with ESI) is a must for both static files and page caching (we used Turpentine and Phoenix on some projects โ€“ both are fine) - VCL can be challenging, - We managed to use HAProxy as load balancer (using automatic failover), - Weโ€™ve added cache to Mage_Catalog_Model_Product::load - Consider adding cache to Mage_Eav_Model_Entity_Abstract to avoid EAV at all โ€“ we couldnโ€™t use FLAT because of attributes count, - We turned on FLAT to 900 most frequently used attributes (InnoDb limits), - Sessions were moved to Redis, - We discovered lot of queries to core_url_rewrite - cache should help here, - We used Fast-Async Reindexing module while using Magento 1.x to avoid database locking - GlusterFS used to handle uploads and replication 11
  • 13. APP & CACHE - Remarks - GlusterFS/network file systems โ€“ stat(), open() without local caching are IO exhausting, - we had some issues with APC on PHP 5.4 (segfaults) โ€“ now everybody uses OpCache โ˜บ - at some point we switched from Apache to nginx + php-fpm to gain speed req/s throughput and lower memory usage (read more here: http://info.magento. com/rs/magentocommerce/images/MagentoECG- PoweringMagentowithNgnixandPHP-FPM.pdf) - We had problems with Magento API (really slow responses โ€“ 0.5s); optimizations = 0.2s + HHVM = 0.1s; next step โ€“ fast responding faรงade without Magento overhead - http://divante.co/blog/magento-1-9-1-0-page-load-time-0-3s/ - We had problems with Redis clogging with cache Keys (http://divante. co/blog/magento-clogged-redis-cache/) 13
  • 15. THE HARD WAY - Most challenging issues: EAV and indexing - Will be great to use NoSQL DB (MongoDB, SOLR), - At this point we use only model-level cache, - Weโ€™ve disabled Magento logs and reports โ€“ less queries, less useless data to store, - Small configuration tips make big difference: - query_cache_size - up to 128MB works well; furthermore โ€“ cache cleaning can be really, REALLY slow - innodb_thread_concurrency - setting to 0 prevents MySQL from clogging worker threads (looks like itโ€™s locking but it isnโ€™t) - We switched from MySQL to PerconaDB/XtraDB - Great gain performance gain on peaks โ€“ queries count vs. response time โ€“ up to + 275%, - No code / SQL changes required โ€“ 100% compatible with MySQL, - MemSQL โ€“ looks really promising, not tested yet 15
  • 16. DATABASE CAVEATS 16 Without FLAT in place โ€“ lot of EAV-related quires, also lot of URL-redirect related queries. Those queries are unnecessary.
  • 17. HOW TO DISABLE EAV? โ€“ it will be great if we can switch to NoSQL DB (like MongoDB, SOLR, Sphinx Search), โ€“ one can overwrite EAV->FLAT indexers but itโ€™s extremely hard (relations, some modules works on RAW SQL), โ€“ suggestions: - Add cache to Product::load method โ€“ invalidation is extremely important (you can use modification date in cache-key or observer based mechanism to clear it up), - Add cache to load EAV attributes โ€“ for products, product categories, - Overwrite/refactor Mage_Catalog โ€“ for searching and browsing products โ€“ some search modules do this partially, - Great knowledge base about EAV: http://www. solvingmagento.com/magento-eav-system/ 17 If you cannot use FLAT (categories + products are must) โ€“ itโ€™s too slow or you have too many attributes
  • 18. DATABASE SCALABILITY - REPLICATION With replicas one gets: high availability, more req/s. It doesnโ€™t fit all cases: Caution: replication-lags Itโ€™s possible to move selected tables to external servers (like product catalogs). Always consider using cache first! 18 :- ) :- ( master slave mastermaster master master master TB: users TB: photos
  • 19. INDEXATION VS. REPLICATION - Master-slave replication shall help with db-locking issue; - MySQL replicates only UPDATE/INSERT operations using binlogs - this is extremely fast and doesnโ€™t lock replicas 19 public function processEntityAction(Varien_Object $entity, $entityType, $eventType) ... $resourceModel = Mage::getResourceSingleton ('index/process'); $resourceModel->beginTransaction(); $this->_allowTableChanges = false; try { $this->indexEvent($event); $resourceModel->commit(); } catch (Exception $e) { $resourceModel->rollBack(); if ($allowTableChanges) { $this->_allowTableChanges = true; $this->_changeKeyStatus(true); $this->_currentEvent = null; } throw $e;
  • 20. DATABASE โ€“ NEXT STEPS - Weโ€™ve tested app-local master-slave replication to avoid network latency and database-locking โ€“ Magento supports this kind of replication out of the box, โ€“ Next step โ€“ move catalog database to separate server, โ€“ Route Admin panel requests to separated servers (using multi- master Magento2 feature) 20 master master App servers + GlusterFS + PerconaDB local db-slaveโ€™s for read access Each server can handle user requestsHaproxy & Varnish load balancer + proxy Indexing, updates, Imports, RDBM
  • 21. INTEGRATIONS - We use queuing to avoid bottlenecks, - On each app server there are Gearman workers (PHP processes) โ€“ responsible for getting prices, stocks, transferring orders, - Workers exchange data with CRM, WMS, ERP, PIM in both async and sync modes โ€“ using priorities, - We used Command/Task design pattern, - We log everything using ELK โ€“ especially Kibana and New Relic to analyze external systems - Magento API can be very challenging (itโ€™s extremely slow) 21
  • 22. MONITORING We use Kibana (ELK stack) and custom New Relic metrics to monitor real-time integrations (CRM, WMS, ERP) Zabbix with Sellenium scripts is used to monitor and alert website availability 22
  • 23. FINAL ARCHITECTURE 23 master master App servers + GlusterFS + PerconaDB local db-slaveโ€™s for read access Each server can handle user requests Haproxy & Varnish load balancer + proxy Gearman queue workers handle background jobs and external integrations API calls Web requests External sys. Calls background jobs
  • 24. WHAT Iโ€™VE MISSED + MAGENTO 2 - Search โ€“ we used FactFinder / SOLR, - Details about Varnish and HHVM - Life is going to be easier: What excites me in Magento2? โ€“ Materialized views engine โ€“ smarter indexation, โ€“ Full page caching in community, โ€“ Multi master DB contexts, โ€“ Checkout optimizations 24
  • 25. THANK YOU! QUESTIONS? 25 Technical or scalability challenges? Contact me to consult your case for free! Piotr Karwatka (pkarwatka@divante.pl) Divante โ€“ http://divante.co