Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.
@rahul286 #wcmumbai
Scaling WooCommerce
- Blogger
- First rtCamper
- Obsessed with speed
About me
1. Blogger
2. rtCamper
3. Husband
4. Father
5. Sandwich-wala
Sandwich-wala
State of the Word
State of the WordPress
Caching
Typical Architecture!
Typical Architecture!
Handle (almost) entire load at
NGINX Level
WooCommerce @ NGINX level
- Output depends on customers
- Same URL, different output
- /cart/
- /checkout/
- /my-account/
...
At each tier
Scaling WooCommerce
NGINX
- If your theme has user-specific elements in
header/footer/sidebar, ajaxify them
- If you cannot ajaxify, use “Window Sho...
NOT trademarked!
Window Shopping
Technique
¯_(ツ)_/¯
1. Start with entire site cached
2. Monitor woocommerce cookie for cart items
3. As soon as a visitor adds something to ca...
- Faster site for folks who are “Just Looking”
- Can handle more traffic, specially spikes!
But... What about folks who ar...
PHP
Easy Part
1. WordPress Object Cache FTW!
a. https://wordpress.org/plugins/redis-cache/
b. Object cache also speed-up Trans...
Tough Part
1. Architecture
a. AJAX
b. AngularJS/React
2. Code Quality
a. Fast and readable (in order)
b. Debug - Like A He...
MySQL
1. SSD. Always. Period. One more Period.
2. RAM > mysql database size
3. CPU cores (enough of them)
Hardware
Software
1. Slow Query (ee debug --mysql)
2. ElasticSearch - elasticpress-woocommerce
3. WordPress Object Cache Again
4. M...
10071
WooCommerce 3.0
https://github.
com/woothemes/woocommerce/issues/10071
Get Involved!
Sorry no demo this time :|
Thank You!
@rahul286 #wcmumbai
Q & A
Scaling WooCommerce - WordCamp Mumbai 2016
Scaling WooCommerce - WordCamp Mumbai 2016
Scaling WooCommerce - WordCamp Mumbai 2016
Scaling WooCommerce - WordCamp Mumbai 2016
Upcoming SlideShare
Loading in …5
×

Scaling WooCommerce - WordCamp Mumbai 2016

6,584 views

Published on

Scaling WooCommerce for high transaction volume. Hardware, software and overview of special "Window Shopping Technique".

Published in: Technology
  • Be the first to comment

Scaling WooCommerce - WordCamp Mumbai 2016

  1. 1. @rahul286 #wcmumbai Scaling WooCommerce
  2. 2. - Blogger - First rtCamper - Obsessed with speed About me
  3. 3. 1. Blogger 2. rtCamper 3. Husband 4. Father 5. Sandwich-wala Sandwich-wala
  4. 4. State of the Word
  5. 5. State of the WordPress Caching
  6. 6. Typical Architecture!
  7. 7. Typical Architecture! Handle (almost) entire load at NGINX Level
  8. 8. WooCommerce @ NGINX level - Output depends on customers - Same URL, different output - /cart/ - /checkout/ - /my-account/ - /* (user specific element in header,
  9. 9. At each tier Scaling WooCommerce
  10. 10. NGINX
  11. 11. - If your theme has user-specific elements in header/footer/sidebar, ajaxify them - If you cannot ajaxify, use “Window Shopping Technique” NGINX - Cache Product Pages
  12. 12. NOT trademarked! Window Shopping Technique
  13. 13. ¯_(ツ)_/¯
  14. 14. 1. Start with entire site cached 2. Monitor woocommerce cookie for cart items 3. As soon as a visitor adds something to cart, start bypassing cache for them only. http://rt.cx/wcwst Window Shopping Technique
  15. 15. - Faster site for folks who are “Just Looking” - Can handle more traffic, specially spikes! But... What about folks who are actually buying? NGINX Tier Summary
  16. 16. PHP
  17. 17. Easy Part 1. WordPress Object Cache FTW! a. https://wordpress.org/plugins/redis-cache/ b. Object cache also speed-up Transients API c. ee site create/update example.com --wpredis 2. PHP7 a. ee site create/update example.com --php7
  18. 18. Tough Part 1. Architecture a. AJAX b. AngularJS/React 2. Code Quality a. Fast and readable (in order) b. Debug - Like A Hero
  19. 19. MySQL
  20. 20. 1. SSD. Always. Period. One more Period. 2. RAM > mysql database size 3. CPU cores (enough of them) Hardware
  21. 21. Software 1. Slow Query (ee debug --mysql) 2. ElasticSearch - elasticpress-woocommerce 3. WordPress Object Cache Again 4. MySQLTuner
  22. 22. 10071
  23. 23. WooCommerce 3.0 https://github. com/woothemes/woocommerce/issues/10071 Get Involved!
  24. 24. Sorry no demo this time :| Thank You!
  25. 25. @rahul286 #wcmumbai Q & A

×