![Page 1: machine - Magentoinfo2.magento.com/rs/magentoenterprise/images/MagentoLive UK 2… · Magento Extension Scalable Infrastructure Slave Database NoSQL Google/Amazon . How? YES /NO •Slave](https://reader033.vdocument.in/reader033/viewer/2022050514/5f9e1230e64bfd4744672f1c/html5/thumbnails/1.jpg)
![Page 2: machine - Magentoinfo2.magento.com/rs/magentoenterprise/images/MagentoLive UK 2… · Magento Extension Scalable Infrastructure Slave Database NoSQL Google/Amazon . How? YES /NO •Slave](https://reader033.vdocument.in/reader033/viewer/2022050514/5f9e1230e64bfd4744672f1c/html5/thumbnails/2.jpg)
machine learning Magento
&
![Page 3: machine - Magentoinfo2.magento.com/rs/magentoenterprise/images/MagentoLive UK 2… · Magento Extension Scalable Infrastructure Slave Database NoSQL Google/Amazon . How? YES /NO •Slave](https://reader033.vdocument.in/reader033/viewer/2022050514/5f9e1230e64bfd4744672f1c/html5/thumbnails/3.jpg)
About me
![Page 4: machine - Magentoinfo2.magento.com/rs/magentoenterprise/images/MagentoLive UK 2… · Magento Extension Scalable Infrastructure Slave Database NoSQL Google/Amazon . How? YES /NO •Slave](https://reader033.vdocument.in/reader033/viewer/2022050514/5f9e1230e64bfd4744672f1c/html5/thumbnails/4.jpg)
Dhruv Boruah
Co Founder, Reckless.io
![Page 5: machine - Magentoinfo2.magento.com/rs/magentoenterprise/images/MagentoLive UK 2… · Magento Extension Scalable Infrastructure Slave Database NoSQL Google/Amazon . How? YES /NO •Slave](https://reader033.vdocument.in/reader033/viewer/2022050514/5f9e1230e64bfd4744672f1c/html5/thumbnails/5.jpg)
Agenda
![Page 6: machine - Magentoinfo2.magento.com/rs/magentoenterprise/images/MagentoLive UK 2… · Magento Extension Scalable Infrastructure Slave Database NoSQL Google/Amazon . How? YES /NO •Slave](https://reader033.vdocument.in/reader033/viewer/2022050514/5f9e1230e64bfd4744672f1c/html5/thumbnails/6.jpg)
Agenda
• Your KPIs
• Session Goal
• Interesting Magento Data
• Magento Case
• Tools/How?
• Demo
• Q&A
![Page 7: machine - Magentoinfo2.magento.com/rs/magentoenterprise/images/MagentoLive UK 2… · Magento Extension Scalable Infrastructure Slave Database NoSQL Google/Amazon . How? YES /NO •Slave](https://reader033.vdocument.in/reader033/viewer/2022050514/5f9e1230e64bfd4744672f1c/html5/thumbnails/7.jpg)
Your KPIs
• Are you asking the right questions?
• How much do you know about your
customers?
• AOV/LTV/GPM
• Sales/Returns/Shipping
• Churn Rate
• Abandonment Rate
• …
External Factors • Weather/ Forex/
Holiday/Newsletters
• Census (birth/death/age)
• …
![Page 8: machine - Magentoinfo2.magento.com/rs/magentoenterprise/images/MagentoLive UK 2… · Magento Extension Scalable Infrastructure Slave Database NoSQL Google/Amazon . How? YES /NO •Slave](https://reader033.vdocument.in/reader033/viewer/2022050514/5f9e1230e64bfd4744672f1c/html5/thumbnails/8.jpg)
Machine Learning
A branch of artificial intelligence,
concerns the construction
and study of systems that
can learn from data.
Source: http://en.wikipedia.org/wiki/Machine_learning
![Page 9: machine - Magentoinfo2.magento.com/rs/magentoenterprise/images/MagentoLive UK 2… · Magento Extension Scalable Infrastructure Slave Database NoSQL Google/Amazon . How? YES /NO •Slave](https://reader033.vdocument.in/reader033/viewer/2022050514/5f9e1230e64bfd4744672f1c/html5/thumbnails/9.jpg)
Session Goal
![Page 10: machine - Magentoinfo2.magento.com/rs/magentoenterprise/images/MagentoLive UK 2… · Magento Extension Scalable Infrastructure Slave Database NoSQL Google/Amazon . How? YES /NO •Slave](https://reader033.vdocument.in/reader033/viewer/2022050514/5f9e1230e64bfd4744672f1c/html5/thumbnails/10.jpg)
How to predict
customer behavior
using machine learning?
![Page 11: machine - Magentoinfo2.magento.com/rs/magentoenterprise/images/MagentoLive UK 2… · Magento Extension Scalable Infrastructure Slave Database NoSQL Google/Amazon . How? YES /NO •Slave](https://reader033.vdocument.in/reader033/viewer/2022050514/5f9e1230e64bfd4744672f1c/html5/thumbnails/11.jpg)
Interesting Magento Data
![Page 12: machine - Magentoinfo2.magento.com/rs/magentoenterprise/images/MagentoLive UK 2… · Magento Extension Scalable Infrastructure Slave Database NoSQL Google/Amazon . How? YES /NO •Slave](https://reader033.vdocument.in/reader033/viewer/2022050514/5f9e1230e64bfd4744672f1c/html5/thumbnails/12.jpg)
1. log_visitor_online (visitor_id, type, ip, customer_id, last_url )
2. log_visitor (visitor_id, session_id, first & last visit, last_url, store)
![Page 13: machine - Magentoinfo2.magento.com/rs/magentoenterprise/images/MagentoLive UK 2… · Magento Extension Scalable Infrastructure Slave Database NoSQL Google/Amazon . How? YES /NO •Slave](https://reader033.vdocument.in/reader033/viewer/2022050514/5f9e1230e64bfd4744672f1c/html5/thumbnails/13.jpg)
3. Viewed product (visitor_id, customer_id, product_id, store)
4. Aggregated viewed products(view_num, price, name, store)
![Page 14: machine - Magentoinfo2.magento.com/rs/magentoenterprise/images/MagentoLive UK 2… · Magento Extension Scalable Infrastructure Slave Database NoSQL Google/Amazon . How? YES /NO •Slave](https://reader033.vdocument.in/reader033/viewer/2022050514/5f9e1230e64bfd4744672f1c/html5/thumbnails/14.jpg)
5. Quote tables
![Page 15: machine - Magentoinfo2.magento.com/rs/magentoenterprise/images/MagentoLive UK 2… · Magento Extension Scalable Infrastructure Slave Database NoSQL Google/Amazon . How? YES /NO •Slave](https://reader033.vdocument.in/reader033/viewer/2022050514/5f9e1230e64bfd4744672f1c/html5/thumbnails/15.jpg)
Magento Case
![Page 16: machine - Magentoinfo2.magento.com/rs/magentoenterprise/images/MagentoLive UK 2… · Magento Extension Scalable Infrastructure Slave Database NoSQL Google/Amazon . How? YES /NO •Slave](https://reader033.vdocument.in/reader033/viewer/2022050514/5f9e1230e64bfd4744672f1c/html5/thumbnails/16.jpg)
Case
“Retailer A” trades in:
Clothing/ Toys/Shoes/Home etc.
Goal:
• Predict “checkout intent” of online customers
• Deliver personalize promotion to prevent cart abandonment
![Page 17: machine - Magentoinfo2.magento.com/rs/magentoenterprise/images/MagentoLive UK 2… · Magento Extension Scalable Infrastructure Slave Database NoSQL Google/Amazon . How? YES /NO •Slave](https://reader033.vdocument.in/reader033/viewer/2022050514/5f9e1230e64bfd4744672f1c/html5/thumbnails/17.jpg)
Tools
![Page 18: machine - Magentoinfo2.magento.com/rs/magentoenterprise/images/MagentoLive UK 2… · Magento Extension Scalable Infrastructure Slave Database NoSQL Google/Amazon . How? YES /NO •Slave](https://reader033.vdocument.in/reader033/viewer/2022050514/5f9e1230e64bfd4744672f1c/html5/thumbnails/18.jpg)
![Page 19: machine - Magentoinfo2.magento.com/rs/magentoenterprise/images/MagentoLive UK 2… · Magento Extension Scalable Infrastructure Slave Database NoSQL Google/Amazon . How? YES /NO •Slave](https://reader033.vdocument.in/reader033/viewer/2022050514/5f9e1230e64bfd4744672f1c/html5/thumbnails/19.jpg)
How?
![Page 20: machine - Magentoinfo2.magento.com/rs/magentoenterprise/images/MagentoLive UK 2… · Magento Extension Scalable Infrastructure Slave Database NoSQL Google/Amazon . How? YES /NO •Slave](https://reader033.vdocument.in/reader033/viewer/2022050514/5f9e1230e64bfd4744672f1c/html5/thumbnails/20.jpg)
How?
Listens for events
Does delta sync
Processes responses
Magento
Extension
Scalable
Infrastructure
Slave Database
NoSQL
Google/Amazon
![Page 21: machine - Magentoinfo2.magento.com/rs/magentoenterprise/images/MagentoLive UK 2… · Magento Extension Scalable Infrastructure Slave Database NoSQL Google/Amazon . How? YES /NO •Slave](https://reader033.vdocument.in/reader033/viewer/2022050514/5f9e1230e64bfd4744672f1c/html5/thumbnails/21.jpg)
How?
YES
/NO
• Slave Database
• Flatten Magento Tables
• NoSql database
Data Warehouse
• Transaction History
• Merchandising
• Operational
• Marketing
Modeling • Preparation
• Training
• Predict
Predict
![Page 22: machine - Magentoinfo2.magento.com/rs/magentoenterprise/images/MagentoLive UK 2… · Magento Extension Scalable Infrastructure Slave Database NoSQL Google/Amazon . How? YES /NO •Slave](https://reader033.vdocument.in/reader033/viewer/2022050514/5f9e1230e64bfd4744672f1c/html5/thumbnails/22.jpg)
Training Model
Successful
Checkouts
Created date/time
Remote IP
Base subtotal
Items
Customer is guest
Category
Location
…
Training
Model
Unsuccessful
Checkouts
![Page 23: machine - Magentoinfo2.magento.com/rs/magentoenterprise/images/MagentoLive UK 2… · Magento Extension Scalable Infrastructure Slave Database NoSQL Google/Amazon . How? YES /NO •Slave](https://reader033.vdocument.in/reader033/viewer/2022050514/5f9e1230e64bfd4744672f1c/html5/thumbnails/23.jpg)
Demo
![Page 24: machine - Magentoinfo2.magento.com/rs/magentoenterprise/images/MagentoLive UK 2… · Magento Extension Scalable Infrastructure Slave Database NoSQL Google/Amazon . How? YES /NO •Slave](https://reader033.vdocument.in/reader033/viewer/2022050514/5f9e1230e64bfd4744672f1c/html5/thumbnails/24.jpg)
Questions/Comments?
@dhruvboruah
+44-786 838 2320
https://github.com/reckless-io/prediction
![Page 25: machine - Magentoinfo2.magento.com/rs/magentoenterprise/images/MagentoLive UK 2… · Magento Extension Scalable Infrastructure Slave Database NoSQL Google/Amazon . How? YES /NO •Slave](https://reader033.vdocument.in/reader033/viewer/2022050514/5f9e1230e64bfd4744672f1c/html5/thumbnails/25.jpg)
![Page 26: machine - Magentoinfo2.magento.com/rs/magentoenterprise/images/MagentoLive UK 2… · Magento Extension Scalable Infrastructure Slave Database NoSQL Google/Amazon . How? YES /NO •Slave](https://reader033.vdocument.in/reader033/viewer/2022050514/5f9e1230e64bfd4744672f1c/html5/thumbnails/26.jpg)
Sisyphus Inspiration
![Page 27: machine - Magentoinfo2.magento.com/rs/magentoenterprise/images/MagentoLive UK 2… · Magento Extension Scalable Infrastructure Slave Database NoSQL Google/Amazon . How? YES /NO •Slave](https://reader033.vdocument.in/reader033/viewer/2022050514/5f9e1230e64bfd4744672f1c/html5/thumbnails/27.jpg)
Tests should be independent from each other
Full test suite should run as quickly as I want
Maintaining tests should be easy and cheap
Tests should be stable, robust and [here your next lovely buzzword]
… and it would be really better if we wouldn’t require them at all!
![Page 28: machine - Magentoinfo2.magento.com/rs/magentoenterprise/images/MagentoLive UK 2… · Magento Extension Scalable Infrastructure Slave Database NoSQL Google/Amazon . How? YES /NO •Slave](https://reader033.vdocument.in/reader033/viewer/2022050514/5f9e1230e64bfd4744672f1c/html5/thumbnails/28.jpg)
“A dream you dream alone is only a dream.
A dream you dream together is reality.”
John Lennon
![Page 29: machine - Magentoinfo2.magento.com/rs/magentoenterprise/images/MagentoLive UK 2… · Magento Extension Scalable Infrastructure Slave Database NoSQL Google/Amazon . How? YES /NO •Slave](https://reader033.vdocument.in/reader033/viewer/2022050514/5f9e1230e64bfd4744672f1c/html5/thumbnails/29.jpg)
Reality
Extremely Extensible
Core
Continuously Changing Business
Modular Platform
Multi - Language
- Theme
- Website
- Tenant
![Page 30: machine - Magentoinfo2.magento.com/rs/magentoenterprise/images/MagentoLive UK 2… · Magento Extension Scalable Infrastructure Slave Database NoSQL Google/Amazon . How? YES /NO •Slave](https://reader033.vdocument.in/reader033/viewer/2022050514/5f9e1230e64bfd4744672f1c/html5/thumbnails/30.jpg)
Dreams
$superF = new SuperFramework();
$superF->Ineed(‘result’);
$superF->toGo(‘start’);
$superF->andClick(‘whatever’);
$superF->andDo(‘something’);
$superF->andClick(‘done’);
$superF->andGet(‘success’);
![Page 31: machine - Magentoinfo2.magento.com/rs/magentoenterprise/images/MagentoLive UK 2… · Magento Extension Scalable Infrastructure Slave Database NoSQL Google/Amazon . How? YES /NO •Slave](https://reader033.vdocument.in/reader033/viewer/2022050514/5f9e1230e64bfd4744672f1c/html5/thumbnails/31.jpg)
Top Layer
• BDD
• Code Generators
Mid Layer
• Framework
Low Layer
• PHPUnit
• Selenium
More DECLARATIVE
More IMPERATIVE
?
![Page 32: machine - Magentoinfo2.magento.com/rs/magentoenterprise/images/MagentoLive UK 2… · Magento Extension Scalable Infrastructure Slave Database NoSQL Google/Amazon . How? YES /NO •Slave](https://reader033.vdocument.in/reader033/viewer/2022050514/5f9e1230e64bfd4744672f1c/html5/thumbnails/32.jpg)
MTF Components
System Under Test Direct Access
Handlers
Fixtures (and Repositories)
Selenium Driver
Page Objects (Pages, Blocks, Elements)
Test Cases (Pre-conditions, Scenario, Constraints)
Tools and Utils
![Page 33: machine - Magentoinfo2.magento.com/rs/magentoenterprise/images/MagentoLive UK 2… · Magento Extension Scalable Infrastructure Slave Database NoSQL Google/Amazon . How? YES /NO •Slave](https://reader033.vdocument.in/reader033/viewer/2022050514/5f9e1230e64bfd4744672f1c/html5/thumbnails/33.jpg)
Low Layer
![Page 34: machine - Magentoinfo2.magento.com/rs/magentoenterprise/images/MagentoLive UK 2… · Magento Extension Scalable Infrastructure Slave Database NoSQL Google/Amazon . How? YES /NO •Slave](https://reader033.vdocument.in/reader033/viewer/2022050514/5f9e1230e64bfd4744672f1c/html5/thumbnails/34.jpg)
Test Cases
/**
* Run create product test
*
*/
public function testCreate(CatalogProductSimple $product, CatalogCategory $category)
{
$this->productGridPage->open();
$this->productGridPage->getProductBlock()->addProduct($product->getTypeId());
$productBlockForm = $this->newProductPage->getForm();
$productBlockForm->fillProduct($product, $category);
$this->newProductPage->getFormAction()->save();
}
![Page 35: machine - Magentoinfo2.magento.com/rs/magentoenterprise/images/MagentoLive UK 2… · Magento Extension Scalable Infrastructure Slave Database NoSQL Google/Amazon . How? YES /NO •Slave](https://reader033.vdocument.in/reader033/viewer/2022050514/5f9e1230e64bfd4744672f1c/html5/thumbnails/35.jpg)
Page Objects namespace Magento\Mtf\Test\Page\Area;
use Mtf\Page\Page;
class TestPage extends Page
{
const MCA = 'testPage';
protected $_blocks = [
‘rootBlock' => [
'name' => ‘rootBlock',
'class' => 'Magento\Mtf\Test\Block\RootBlock',
'locator' => 'body',
'strategy' => 'tag name'
]
];
public function getRootBlock()
{
return $this->getBlockInstance(‘rootBlock');
}
}
<page mca="testPage">
<block>
<name>testBlock</name>
<class>Magento\Mtf\Test\Block\TestBlock</class>
<locator>body</locator>
<strategy>tag-selector</strategy>
</block>
</page>
![Page 36: machine - Magentoinfo2.magento.com/rs/magentoenterprise/images/MagentoLive UK 2… · Magento Extension Scalable Infrastructure Slave Database NoSQL Google/Amazon . How? YES /NO •Slave](https://reader033.vdocument.in/reader033/viewer/2022050514/5f9e1230e64bfd4744672f1c/html5/thumbnails/36.jpg)
Constraints namespace Magento\Mtf\Test\Constraint;
use Mtf\Constraint\AbstractConstraint;
use Magento\Mtf\Test\Page\Area\TestPage;
use Magento\Mtf\Test\Fixture\Test;
class PageOpenSuccess extends AbstractConstraint
{
protected $severeness = 'low';
public function processAssert(TestPage $page, Test $fixture)
{
//
}
public function toString()
{
//
}
}
<constraint>
<pageOpenSuccess module="Magento_Mtf">
<severeness>low</severeness>
</pageOpenSuccess>
</constraint>
![Page 37: machine - Magentoinfo2.magento.com/rs/magentoenterprise/images/MagentoLive UK 2… · Magento Extension Scalable Infrastructure Slave Database NoSQL Google/Amazon . How? YES /NO •Slave](https://reader033.vdocument.in/reader033/viewer/2022050514/5f9e1230e64bfd4744672f1c/html5/thumbnails/37.jpg)
Fixtures namespace Magento\Mtf\Test\Fixture;
use Mtf\Fixture\InjectableFixture;
class Test extends InjectableFixture
{
protected $fieldName = [
'attribute_code' => 'code',
'frontend_input' => 'input_type',
'frontend_label' => 'Label'
];
public function getFieldName()
{
return $this->getData('fieldName');
}
}
<fixture>
<fixtureName module="Magento_Mtf">
<fields>
<fieldName>
<attribute_code>code</attribute_code>
<frontend_input>input_type</frontend_input>
<frontend_label>Laber</frontend_label>
</fieldName>
</fields>
</fixtureName>
</fixture>
![Page 38: machine - Magentoinfo2.magento.com/rs/magentoenterprise/images/MagentoLive UK 2… · Magento Extension Scalable Infrastructure Slave Database NoSQL Google/Amazon . How? YES /NO •Slave](https://reader033.vdocument.in/reader033/viewer/2022050514/5f9e1230e64bfd4744672f1c/html5/thumbnails/38.jpg)
Repositories namespace Magento\Mtf\Test\Repository;
use Mtf\Repository\AbstractRepository;
class TestRepository extends AbstractRepository
{
public function __construct()
{
$this->_data[‘identifier_value_1'] = [...];
$this->_data['didentifier_value_2'] = [...];
}
}
<fixture>
<fixtureName module="Magento_Mtf">
<type>blank|flat|eav</type>
<entity_type>entity_type_code</entity_type>
<collection>Resource Collection</collection>
<identifier>Unique Field/Attribute Name</identifier>
<fields>
<…>
</fields>
</fixtureName>
</fixture>
![Page 39: machine - Magentoinfo2.magento.com/rs/magentoenterprise/images/MagentoLive UK 2… · Magento Extension Scalable Infrastructure Slave Database NoSQL Google/Amazon . How? YES /NO •Slave](https://reader033.vdocument.in/reader033/viewer/2022050514/5f9e1230e64bfd4744672f1c/html5/thumbnails/39.jpg)
Low Layer
Mid Layer
![Page 40: machine - Magentoinfo2.magento.com/rs/magentoenterprise/images/MagentoLive UK 2… · Magento Extension Scalable Infrastructure Slave Database NoSQL Google/Amazon . How? YES /NO •Slave](https://reader033.vdocument.in/reader033/viewer/2022050514/5f9e1230e64bfd4744672f1c/html5/thumbnails/40.jpg)
Application Sates Iterator
Feature #17
Test Cases Iterator
Configuration Profile #1
Configuration Profile #2
Configuration Profile #3
Configuration Profile #4
Configuration Profile #n
Dataset #1
Dataset #2
Dataset #3
Dataset #4
Dataset #n
Test Case Scenario
Constraints
![Page 41: machine - Magentoinfo2.magento.com/rs/magentoenterprise/images/MagentoLive UK 2… · Magento Extension Scalable Infrastructure Slave Database NoSQL Google/Amazon . How? YES /NO •Slave](https://reader033.vdocument.in/reader033/viewer/2022050514/5f9e1230e64bfd4744672f1c/html5/thumbnails/41.jpg)
Low Layer
Mid Layer
Top Layer
![Page 42: machine - Magentoinfo2.magento.com/rs/magentoenterprise/images/MagentoLive UK 2… · Magento Extension Scalable Infrastructure Slave Database NoSQL Google/Amazon . How? YES /NO •Slave](https://reader033.vdocument.in/reader033/viewer/2022050514/5f9e1230e64bfd4744672f1c/html5/thumbnails/42.jpg)
![Page 43: machine - Magentoinfo2.magento.com/rs/magentoenterprise/images/MagentoLive UK 2… · Magento Extension Scalable Infrastructure Slave Database NoSQL Google/Amazon . How? YES /NO •Slave](https://reader033.vdocument.in/reader033/viewer/2022050514/5f9e1230e64bfd4744672f1c/html5/thumbnails/43.jpg)
Low Layer
Mid Layer
Top Layer
![Page 44: machine - Magentoinfo2.magento.com/rs/magentoenterprise/images/MagentoLive UK 2… · Magento Extension Scalable Infrastructure Slave Database NoSQL Google/Amazon . How? YES /NO •Slave](https://reader033.vdocument.in/reader033/viewer/2022050514/5f9e1230e64bfd4744672f1c/html5/thumbnails/44.jpg)
good things
Parallel Execution
Test Isolation Levels
Test Runners and Iterators
Event Manager
Logging and Reporting
Sample Database Management Tool
![Page 45: machine - Magentoinfo2.magento.com/rs/magentoenterprise/images/MagentoLive UK 2… · Magento Extension Scalable Infrastructure Slave Database NoSQL Google/Amazon . How? YES /NO •Slave](https://reader033.vdocument.in/reader033/viewer/2022050514/5f9e1230e64bfd4744672f1c/html5/thumbnails/45.jpg)
“I dream my painting and I paint my dream.”
Vincent van Gogh
![Page 46: machine - Magentoinfo2.magento.com/rs/magentoenterprise/images/MagentoLive UK 2… · Magento Extension Scalable Infrastructure Slave Database NoSQL Google/Amazon . How? YES /NO •Slave](https://reader033.vdocument.in/reader033/viewer/2022050514/5f9e1230e64bfd4744672f1c/html5/thumbnails/46.jpg)
VS
![Page 47: machine - Magentoinfo2.magento.com/rs/magentoenterprise/images/MagentoLive UK 2… · Magento Extension Scalable Infrastructure Slave Database NoSQL Google/Amazon . How? YES /NO •Slave](https://reader033.vdocument.in/reader033/viewer/2022050514/5f9e1230e64bfd4744672f1c/html5/thumbnails/47.jpg)
Magento Testing Framework The testing framework that does speak Magentish
![Page 48: machine - Magentoinfo2.magento.com/rs/magentoenterprise/images/MagentoLive UK 2… · Magento Extension Scalable Infrastructure Slave Database NoSQL Google/Amazon . How? YES /NO •Slave](https://reader033.vdocument.in/reader033/viewer/2022050514/5f9e1230e64bfd4744672f1c/html5/thumbnails/48.jpg)
Q&A Q&A Q&A
Magento Testing Framework Guidelines
Developer's Guide / Testing
magento/mtf magento/magento2
![Page 49: machine - Magentoinfo2.magento.com/rs/magentoenterprise/images/MagentoLive UK 2… · Magento Extension Scalable Infrastructure Slave Database NoSQL Google/Amazon . How? YES /NO •Slave](https://reader033.vdocument.in/reader033/viewer/2022050514/5f9e1230e64bfd4744672f1c/html5/thumbnails/49.jpg)
![Page 50: machine - Magentoinfo2.magento.com/rs/magentoenterprise/images/MagentoLive UK 2… · Magento Extension Scalable Infrastructure Slave Database NoSQL Google/Amazon . How? YES /NO •Slave](https://reader033.vdocument.in/reader033/viewer/2022050514/5f9e1230e64bfd4744672f1c/html5/thumbnails/50.jpg)
Magento
Performance
Toolkit
![Page 51: machine - Magentoinfo2.magento.com/rs/magentoenterprise/images/MagentoLive UK 2… · Magento Extension Scalable Infrastructure Slave Database NoSQL Google/Amazon . How? YES /NO •Slave](https://reader033.vdocument.in/reader033/viewer/2022050514/5f9e1230e64bfd4744672f1c/html5/thumbnails/51.jpg)
William Harvey
Principal Product Manager
Magento
![Page 52: machine - Magentoinfo2.magento.com/rs/magentoenterprise/images/MagentoLive UK 2… · Magento Extension Scalable Infrastructure Slave Database NoSQL Google/Amazon . How? YES /NO •Slave](https://reader033.vdocument.in/reader033/viewer/2022050514/5f9e1230e64bfd4744672f1c/html5/thumbnails/52.jpg)
Performance Toolkit
![Page 53: machine - Magentoinfo2.magento.com/rs/magentoenterprise/images/MagentoLive UK 2… · Magento Extension Scalable Infrastructure Slave Database NoSQL Google/Amazon . How? YES /NO •Slave](https://reader033.vdocument.in/reader033/viewer/2022050514/5f9e1230e64bfd4744672f1c/html5/thumbnails/53.jpg)
Magento Performance Testing – Control Variables
Test Protocol
Load Generator
Merchant Traffic Profile
Reference Store
Magento Platform
Environment
Reference System Architecture
![Page 54: machine - Magentoinfo2.magento.com/rs/magentoenterprise/images/MagentoLive UK 2… · Magento Extension Scalable Infrastructure Slave Database NoSQL Google/Amazon . How? YES /NO •Slave](https://reader033.vdocument.in/reader033/viewer/2022050514/5f9e1230e64bfd4744672f1c/html5/thumbnails/54.jpg)
Load Generator
• Hardware
• Developer’s Performance System
• Software
• Apache jMeter 2.11 r1554548
• JMeterPlugins-Standard, JMeterPlugins-Extra
![Page 55: machine - Magentoinfo2.magento.com/rs/magentoenterprise/images/MagentoLive UK 2… · Magento Extension Scalable Infrastructure Slave Database NoSQL Google/Amazon . How? YES /NO •Slave](https://reader033.vdocument.in/reader033/viewer/2022050514/5f9e1230e64bfd4744672f1c/html5/thumbnails/55.jpg)
Merchant Traffic Profile / Reference Store
Profile Websites Categories Simple Products Configurable Products
Small 1 30 800 50
Medium 1 300 16,000 1,000
Large 3 1,000 40,000 25,000
XL 5 3,000 800,000 50,000
![Page 56: machine - Magentoinfo2.magento.com/rs/magentoenterprise/images/MagentoLive UK 2… · Magento Extension Scalable Infrastructure Slave Database NoSQL Google/Amazon . How? YES /NO •Slave](https://reader033.vdocument.in/reader033/viewer/2022050514/5f9e1230e64bfd4744672f1c/html5/thumbnails/56.jpg)
Magento Platform
• Magento Version
• EE 1.13.1.0
• Patches Applied
• PHP 5.4 Compatibility Patch
• Scalability Patch (SUPEE-3818)
![Page 57: machine - Magentoinfo2.magento.com/rs/magentoenterprise/images/MagentoLive UK 2… · Magento Extension Scalable Infrastructure Slave Database NoSQL Google/Amazon . How? YES /NO •Slave](https://reader033.vdocument.in/reader033/viewer/2022050514/5f9e1230e64bfd4744672f1c/html5/thumbnails/57.jpg)
Environment (Hardware) – Desktop Example
• Developer’s Performance System
• CPU = 3.5 GHz, Quad-Core i7 (i4770k)
• RAM = 32 GB
• HDD = Sata III, Intel 530 Series 180GB SSD
![Page 58: machine - Magentoinfo2.magento.com/rs/magentoenterprise/images/MagentoLive UK 2… · Magento Extension Scalable Infrastructure Slave Database NoSQL Google/Amazon . How? YES /NO •Slave](https://reader033.vdocument.in/reader033/viewer/2022050514/5f9e1230e64bfd4744672f1c/html5/thumbnails/58.jpg)
Environment (Hardware) – Virtual Server Example
• Cloud Application Server
• CPU = 2x vCPU, 2.3 GHz (Xeon E5-2530)
• RAM = 7 GB
• Cloud Database Server
• CPU = 4x vCPU, 2.3GHz (Xeon E5-2530)
• RAM = 7 GB
![Page 59: machine - Magentoinfo2.magento.com/rs/magentoenterprise/images/MagentoLive UK 2… · Magento Extension Scalable Infrastructure Slave Database NoSQL Google/Amazon . How? YES /NO •Slave](https://reader033.vdocument.in/reader033/viewer/2022050514/5f9e1230e64bfd4744672f1c/html5/thumbnails/59.jpg)
Reference System Architecture – Examples
![Page 60: machine - Magentoinfo2.magento.com/rs/magentoenterprise/images/MagentoLive UK 2… · Magento Extension Scalable Infrastructure Slave Database NoSQL Google/Amazon . How? YES /NO •Slave](https://reader033.vdocument.in/reader033/viewer/2022050514/5f9e1230e64bfd4744672f1c/html5/thumbnails/60.jpg)
Environment (Software)
• MySQL 5.4.38
• PHP 5.4.30
• Redis 2.6.17
![Page 61: machine - Magentoinfo2.magento.com/rs/magentoenterprise/images/MagentoLive UK 2… · Magento Extension Scalable Infrastructure Slave Database NoSQL Google/Amazon . How? YES /NO •Slave](https://reader033.vdocument.in/reader033/viewer/2022050514/5f9e1230e64bfd4744672f1c/html5/thumbnails/61.jpg)
Environment (Software) – Example variables
• noatime, nodiratime
• no write barriers (barriers=0)
• swappiness = 10
• max file descriptors = 65535
![Page 62: machine - Magentoinfo2.magento.com/rs/magentoenterprise/images/MagentoLive UK 2… · Magento Extension Scalable Infrastructure Slave Database NoSQL Google/Amazon . How? YES /NO •Slave](https://reader033.vdocument.in/reader033/viewer/2022050514/5f9e1230e64bfd4744672f1c/html5/thumbnails/62.jpg)
Test Protocol – Example
1. Prepare environment
a. Provision servers and load system software
b. Install Magento and apply patches
2. Execute generate.php to populate the store
3. Run performance.jmx once to prime the cache
4. Run performance.jmx again and report results
![Page 63: machine - Magentoinfo2.magento.com/rs/magentoenterprise/images/MagentoLive UK 2… · Magento Extension Scalable Infrastructure Slave Database NoSQL Google/Amazon . How? YES /NO •Slave](https://reader033.vdocument.in/reader033/viewer/2022050514/5f9e1230e64bfd4744672f1c/html5/thumbnails/63.jpg)
Lessons Learned
![Page 64: machine - Magentoinfo2.magento.com/rs/magentoenterprise/images/MagentoLive UK 2… · Magento Extension Scalable Infrastructure Slave Database NoSQL Google/Amazon . How? YES /NO •Slave](https://reader033.vdocument.in/reader033/viewer/2022050514/5f9e1230e64bfd4744672f1c/html5/thumbnails/64.jpg)
What have we learned?
• Magento runs better on PHP 5.4 http://www.magentocommerce.com/knowledge-base/entry/php54-patch
![Page 65: machine - Magentoinfo2.magento.com/rs/magentoenterprise/images/MagentoLive UK 2… · Magento Extension Scalable Infrastructure Slave Database NoSQL Google/Amazon . How? YES /NO •Slave](https://reader033.vdocument.in/reader033/viewer/2022050514/5f9e1230e64bfd4744672f1c/html5/thumbnails/65.jpg)
What have we learned?
• Magento + PHP 5.3
Can see a major performance improvement with…
• Magento + Nginx + PHP-FPM
Is comparable to…
• Magento + PHP 5.4 + Opcache
![Page 66: machine - Magentoinfo2.magento.com/rs/magentoenterprise/images/MagentoLive UK 2… · Magento Extension Scalable Infrastructure Slave Database NoSQL Google/Amazon . How? YES /NO •Slave](https://reader033.vdocument.in/reader033/viewer/2022050514/5f9e1230e64bfd4744672f1c/html5/thumbnails/66.jpg)
What have we learned?
• Use redis as a cache backend for Magento
• Native support in CE 1.8, EE 1.12 & later
http://info.magento.com/rs/magentocommerce/images/MagentoECG-
UsingRedisasaCacheBackendinMagento.pdf
![Page 67: machine - Magentoinfo2.magento.com/rs/magentoenterprise/images/MagentoLive UK 2… · Magento Extension Scalable Infrastructure Slave Database NoSQL Google/Amazon . How? YES /NO •Slave](https://reader033.vdocument.in/reader033/viewer/2022050514/5f9e1230e64bfd4744672f1c/html5/thumbnails/67.jpg)
What have we learned?
• Importing is getting slower…
• Shopper experience is getting faster…
![Page 68: machine - Magentoinfo2.magento.com/rs/magentoenterprise/images/MagentoLive UK 2… · Magento Extension Scalable Infrastructure Slave Database NoSQL Google/Amazon . How? YES /NO •Slave](https://reader033.vdocument.in/reader033/viewer/2022050514/5f9e1230e64bfd4744672f1c/html5/thumbnails/68.jpg)
What have we learned?
• Magento 1.14 is faster than 1.13...
• Magento 1.14 is slower than 1.13…
![Page 69: machine - Magentoinfo2.magento.com/rs/magentoenterprise/images/MagentoLive UK 2… · Magento Extension Scalable Infrastructure Slave Database NoSQL Google/Amazon . How? YES /NO •Slave](https://reader033.vdocument.in/reader033/viewer/2022050514/5f9e1230e64bfd4744672f1c/html5/thumbnails/69.jpg)
What have we learned?
• Some extensions break caching…
• Magento EE FPC
• Nginx
• Varnish
![Page 70: machine - Magentoinfo2.magento.com/rs/magentoenterprise/images/MagentoLive UK 2… · Magento Extension Scalable Infrastructure Slave Database NoSQL Google/Amazon . How? YES /NO •Slave](https://reader033.vdocument.in/reader033/viewer/2022050514/5f9e1230e64bfd4744672f1c/html5/thumbnails/70.jpg)
What is coming?
![Page 71: machine - Magentoinfo2.magento.com/rs/magentoenterprise/images/MagentoLive UK 2… · Magento Extension Scalable Infrastructure Slave Database NoSQL Google/Amazon . How? YES /NO •Slave](https://reader033.vdocument.in/reader033/viewer/2022050514/5f9e1230e64bfd4744672f1c/html5/thumbnails/71.jpg)
What is coming?
• Performance Test Toolkit (1.12, 1.13, 1.14, 2.x)
• PHP Scripts (generate.php, indexer.php)
• jMeter Test Scripts (performance.jmx)
• Whitepaper: Magento Performance Test Guidelines
![Page 72: machine - Magentoinfo2.magento.com/rs/magentoenterprise/images/MagentoLive UK 2… · Magento Extension Scalable Infrastructure Slave Database NoSQL Google/Amazon . How? YES /NO •Slave](https://reader033.vdocument.in/reader033/viewer/2022050514/5f9e1230e64bfd4744672f1c/html5/thumbnails/72.jpg)
Q&A
![Page 73: machine - Magentoinfo2.magento.com/rs/magentoenterprise/images/MagentoLive UK 2… · Magento Extension Scalable Infrastructure Slave Database NoSQL Google/Amazon . How? YES /NO •Slave](https://reader033.vdocument.in/reader033/viewer/2022050514/5f9e1230e64bfd4744672f1c/html5/thumbnails/73.jpg)
Magento
Performance
Toolkit
![Page 74: machine - Magentoinfo2.magento.com/rs/magentoenterprise/images/MagentoLive UK 2… · Magento Extension Scalable Infrastructure Slave Database NoSQL Google/Amazon . How? YES /NO •Slave](https://reader033.vdocument.in/reader033/viewer/2022050514/5f9e1230e64bfd4744672f1c/html5/thumbnails/74.jpg)