• Like
  • Save
Methods and Best Practices for High Performance eCommerce
Upcoming SlideShare
Loading in...5
×
 

Methods and Best Practices for High Performance eCommerce

on

  • 14,953 views

Magento HQ Developers Meet up, Los Angeles, September 16

Magento HQ Developers Meet up, Los Angeles, September 16

Statistics

Views

Total Views
14,953
Views on SlideShare
9,288
Embed Views
5,665

Actions

Likes
11
Downloads
223
Comments
0

20 Embeds 5,665

http://127.0.0.1 2842
http://www.betateste.com.br 890
http://blog.pod1.com 543
http://www.gxjansen.com 399
http://localhost 202
http://romych.com.ua 159
http://www.jayonline.co.uk 143
http://www.pod1.com 124
http://betateste.com.br 119
http://192.168.0.105 101
http://www2.hsm.com.br 62
http://news.magentips.com 36
http://www.mohanadghashim.com 22
http://impressiondp.posterous.com 10
http://translate.googleusercontent.com 4
http://192.168.174.39 4
http://www.impressiondp.co.uk 2
http://debian.clb 1
http://www.slideshare.net 1
http://romych.loc 1
More...

Accessibility

Categories

Upload Details

Uploaded via as Microsoft PowerPoint

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

    Methods and Best Practices for High Performance eCommerce Methods and Best Practices for High Performance eCommerce Presentation Transcript

    • Magento HQ Developers Meet up
      Methods and Best Practices for High Performance eCommerce.
      By Dmitriy Soroka
      System Architect at Magento, Inc
      20-Sep-10|
      1|
    • Performance Improvement Techniques
      Environment
      Web Server Configuration
      Data Base Configuration
      Accelerating PHP
      Additional HTTP Requests
      Application
      Caching
      Session Handling
      More options
      Scaling
      Backend Server
      Multiple Frontend Servers
      Multiple Databases
      3rd party integrations
      Integration with Solr
    • Benchmarks Methodology
      Siege with different concurrencies
      10, 20, 50, 100
      Database Size
      Sample data, 10K products, 80K products
      URLs
      CMS Page (home page)
      URLs List
      Checkout
      Results
      Requests per second
      Orders per hour
    • Environment optimization
      Apache, MySQL, PHP
    • Apache Configuration
      Apache modules – use just necessary modules
      KeepAlive directive
      mod_deflate - compress content before sending it to the browser
      Eliminating directory structure scans for the .htaccess
    • MySQL Configuration
      innodb_buffer_pool_size
      Combined web and db server, 6 GB RAM – 2-3 GB
      Dedicated database server, 6 GB RAM – 5 GB
      Dedicated database server, 12 GB RAM – 10 GB
      innodb_thread_concurrency
      2 * [numberofCPUs] + 2
      table_cache is the number of tables that can be simultaneously opened by MySQL
      query_cache_size (64 Mb)
      query_cache_limit (2 Mb)
    • Optimization Results
    • Accelerating PHP
      File system structure optimization
      APC
      eAccelerator
      Zend Optimize
      Xcache
    • Magento Compiler
    • PHP Accelerators
    • Additional HTTP Requests
      CSS
      Java Script
      Images
    • Application optimization
      Cache, Sessions
    • Cache Types
    • Cache Enables vs. Cache disabled
    • Cache Storages
      Memory Based
      File System Based
      • File
      • Sqlite
      • Database (MySQL)
      • ZendServer disk
      • APC
      • Memcached
      • xCache
      • eAccelerator
      • ZendServer Memory
    • Two Levels Backend
      Two Levels Backend
      Slow level
      Fast level
    • Cache Configuration
      <config>
      <global>
      <cache>
      <!-- apc / memcached / xcache / empty=file -->
      <backend></backend>
      <prefix|id_prefix></prefix|id_prefix>
      <backend_options>
      <option_code1>option_value1</option_code1>
      </backend_options>
      <frontend_options>
      <option_code1>option_value1</option_code1>
      </frontend_options>
      <memcached>
      <servers>....</servers>
      <memcached>
      </cache>
      </global>
      </config>
    • Slow Backend
      <config>
      <global>
      <cache>
      <slow_backend>database</slow_backend>
      <slow_backend_options>
      <option_code1>option_value1</option_code1>
      </slow_backend_options>
      </cache>
      </global>
      </config>
    • Storages Benchmark
    • Full Page Cache (CMS page)
    • Full Page Cache (urls list)
    • Session Storage
      Files Memcached Data Base
    • More…
      Flat Catalog
      Sales Archive
      Backend processes (cron, indexes)
      Theme complexity
    • scaling
      Hardware, Web Nodes, Data Base
    • Hardware
    • Separate Backend Server
      Data Base
      Handle admin users
      Process backend activity (cron)
      Pre generate Full Page Cache
      Handle media queries
    • Multiple Web Nodes (browsing)
    • Multiple Web Nodes (checkout)
    • Data Base
      config/global/resources
      <default_setup>
      <connection>
      <host><![CDATA[master]]></host>
      <username><![CDATA[writeuser]]></username>
      <password><![CDATA[writeuserpwd]]></password>
      <dbname><![CDATA[magento]]></dbname>
      <active>1</active>
      </connection>
      </default_setup>
      <default_read>
      <connection>
      <use></use>
      <host><![CDATA[slave]]></host>
      <username><![CDATA[readuser]]></username>
      <password><![CDATA[readuserpwd]]></password>
      <dbname><![CDATA[magento]]></dbname>
      <model>mysql4</model>
      <initStatements>SET NAMES utf8</initStatements>
      <type>pdo_mysql</type>
      <active>1</active>
      </connection>
      </default_read>
    • 3rd party integrations
      Solr
    • Using solr
      Spell checking
      Search suggestions
      Morphology
      Category navigation
      Facet navigation
    • Benchmark Results
    • Magento HQ Developers Meet up
      Thank You
      Email: dmitriy.soroka@varien.com
    • Q&A