Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Antonis Zachopoulos - Scaling WooCommerce - Wor...
Search
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
WordPress Greek Community
PRO
November 19, 2016
Programming
670
1
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Antonis Zachopoulos - Scaling WooCommerce - WordCamp Athens 2016
WordPress Greek Community
PRO
November 19, 2016
More Decks by WordPress Greek Community
See All by WordPress Greek Community
Filippos Karailanidis - Beyond ChatGPT: AI Toolkit for the WordPress Developer
wpgr
PRO
0
54
Orestis Samaras - Modern WordPress Development with Composer
wpgr
PRO
0
36
Eleni Tsertou - Ταχύτερο website με Persistent Object Cache: Μύθος ή Αλήθεια;
wpgr
PRO
0
40
George Korakas - WordPress Security 2025: From Real Threats to Practical Defenses
wpgr
PRO
0
53
Δημήτρης Καρβούνης - Πέρα από το Admin Panel: Πώς να μιλήσεις στο WordPress σαν Developer μέσω REST API
wpgr
PRO
0
31
Αναστασία Αδαμούδη - Δημιουργία σύνθετου μενού πλοήγησης σε block θέματα
wpgr
PRO
0
25
Νίκος Μαυράκης - Κοστολογώντας τη δημιουργικότητα
wpgr
PRO
0
50
Jovana Smoljanovic Tucakov - AI vs. Human Content: What Works, What Backfires, and What’s Next
wpgr
PRO
0
50
Λεωνίδας Μηλώσης - Optimize – optimize – optimize: Caring for performance of your WordPress plugin or website
wpgr
PRO
0
41
Other Decks in Programming
See All in Programming
「つくるAI」だけではバグは見つからない ~テストに必要な「見つけるAI」を分離させる戦略~
mfunaki
0
210
Go 1.27 における memory allocation の高速化
andpad
0
360
T3DD26: From RAGs to Riches
martinhelmich
0
120
レビュー履歴をAIに食わせて、 Compose移行を加速するs
shihochan
0
250
AI駆動開発にグラフDBを重ねてみた
satoshi256kbyte
2
470
まずはプロンプトガイドを読もう、話はそれからだ
kiakiraki
1
240
自分的「カンファレンスの楽しみ方」
syumai
0
150
コンパウンドプロダクト開発のためのローカルプロセスマネージャー再発明 #layerxgo
izumin5210
0
580
自動化したのに回らない テスト運用の壁―AI時代の品質責任と生産性
mfunaki
0
560
in-process GraphQL のすすめ #ginzajs
izumin5210
4
1.5k
言葉の格闘技のススメ~紙とペンと言葉から始める、キャリアの描き方~
progresscicada
2
190
【デモ】Kiroで体験する仕様駆動開発|設計からコーディングまでAIと進める開発フロー
cmkudo
0
530
Featured
See All Featured
Fantastic passwords and where to find them - at NoRuKo
philnash
52
3.8k
Navigating the moral maze — ethical principles for Al-driven product design
skipperchong
2
510
Digital Projects Gone Horribly Wrong (And the UX Pros Who Still Save the Day) - Dean Schuster
uxyall
1
2.6k
The Pragmatic Product Professional
lauravandoore
37
7.4k
Unsuck your backbone
ammeep
672
58k
Leading Effective Engineering Teams in the AI Era
addyosmani
9
2.5k
Building a Modern Day E-commerce SEO Strategy
aleyda
45
9.2k
SERP Conf. Vienna - Web Accessibility: Optimizing for Inclusivity and SEO
sarafernandez
2
1.6k
Organizational Design Perspectives: An Ontology of Organizational Design Elements
kimpetersen
PRO
1
810
Marketing Yourself as an Engineer | Alaka | Gurzu
gurzu
0
290
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
52
6.1k
The World Runs on Bad Software
bkeepers
PRO
72
12k
Transcript
Scaling WooCommerce Challenges, Solutions, Bottlenecks Antonis Zachopoulos Web Developer @
Nevma
Scaling WooCommerce - WordCamp Athens 2016 The Case Book publishing
& trading company Vast amount of data Sync from remote ERP software
Scaling WooCommerce - WordCamp Athens 2016 The Case
Scaling WooCommerce - WordCamp Athens 2016 The Challenges Data model
differences The sheer numbers 100.000+ products (posts) 2.500+ product categories (taxonomy terms) 35.000+ authors (product attribute values, a.k.a. taxonomy terms) Synchronization must complete overnight E-shops must remain responsive to user-actions Stick to native WordPress/WooCommerce
Scaling WooCommerce - WordCamp Athens 2016 The General Principles
Scaling WooCommerce - WordCamp Athens 2016 Mark Your Progress Why
iterate all items daily? Use timestamps! Assume full catalog updates are rare.
Scaling WooCommerce - WordCamp Athens 2016 Divide & Conquer Batches
are your friend! Minimize loss in case of a failure Resume capability
Scaling WooCommerce - WordCamp Athens 2016 KISS Principle Need a
web server for syncing? No data to present Why worry about server limits? Run PHP via CLI instead Spawn WordPress yourself
Scaling WooCommerce - WordCamp Athens 2016 The Hidden Obstacles
Scaling WooCommerce - WordCamp Athens 2016 Querying by meta_value
Scaling WooCommerce - WordCamp Athens 2016 Querying by meta_value
Scaling WooCommerce - WordCamp Athens 2016 Querying by meta_value “-Um,
maybe you’re overreacting?” 100.000 products * 0.26 sec = ~7 hours (and no actual work done yet...)
Scaling WooCommerce - WordCamp Athens 2016 Querying by meta_value
Scaling WooCommerce - WordCamp Athens 2016 Querying by meta_value
Scaling WooCommerce - WordCamp Athens 2016 Querying by meta_value “-Cool!
And will that cut it?” 100.000 products * 0.0004 sec = ~40 sec (and still got plenty of time left!)
Scaling WooCommerce - WordCamp Athens 2016 The Object Cache The
what?
None
None
Scaling WooCommerce - WordCamp Athens 2016 The Object Cache Bulk
imports: not the typical case Maintaining the cache: cost for no gain! Time Memory Can be suspended!
Scaling WooCommerce - WordCamp Athens 2016 The Object Cache
Scaling WooCommerce - WordCamp Athens 2016 The Object Cache Object
Cache active: ~3 sec Object Cache suspended: ~0.05 sec Time reduced more than 90%!
Scaling WooCommerce - WordCamp Athens 2016 Term counting WordPress counts
term assignment to posts Products === Posts Categories / Attribute values === Terms Recalculated on every assignment
Scaling WooCommerce - WordCamp Athens 2016 Taking it all to
the front-end
Scaling WooCommerce - WordCamp Athens 2016 The “Shop” page Useful
for user navigation? Consider listing top-level categories instead
Scaling WooCommerce - WordCamp Athens 2016 Product filters Displaying 1.000s
of values – A Utopia Use with caution on high-level lists A cross-platform issue Need to think smarter!
Scaling WooCommerce - WordCamp Athens 2016 Product categories widget Can't
do without it Beware of the listing depth though!
Scaling WooCommerce - WordCamp Athens 2016 The right DB engine
InnoDB VS MyISAM Faster joins
Scaling WooCommerce - WordCamp Athens 2016 Some aces up sleeve
Use output compression (Content-Encoding: gzip) Cache like the wind! Varnish Caching plugin MySQL query caching
Scaling WooCommerce - WordCamp Athens 2016 Wrapping it up 100.000+
products (posts) 2.500+ product categories (taxonomy terms) 35.000+ authors (product attribute values, a.k.a. taxonomy terms) Is it feasible?
Scaling WooCommerce - WordCamp Athens 2016 Wrapping it up Plan
in advance Code with efficiency in mind Love your infrastructure Think out of the box And have the courage to deal with the unforeseen!
Scaling WooCommerce - WordCamp Athens 2016 Fin! Thanks for watching!
Questions?