How large store can WooCommerce handle?

FYI - here’s the call stack for one of the offending parts:

_pad_term_counts()
get_terms()
get_categories()
wp_list_categories()
WC_Widget_Product_Categories->widget()
WP_Widget->display_callback()
dynamic_sidebar()
load_template('…/wp-content/themes/braxton-child/sidebar-woo.php')
locate_template()
get_sidebar('woo')

and here’s the second offending call stack:

_pad_term_counts()
get_terms()
get_categories()
woocommerce_product_subcategories()
woocommerce_content()
davehilditch said

FYI - here’s the call stack for one of the offending parts:

_pad_term_counts()
get_terms()
get_categories()
wp_list_categories()
WC_Widget_Product_Categories->widget()
WP_Widget->display_callback()
dynamic_sidebar()
load_template('…/wp-content/themes/braxton-child/sidebar-woo.php')
locate_template()
get_sidebar('woo')

and here’s the second offending call stack:

_pad_term_counts()
get_terms()
get_categories()
woocommerce_product_subcategories()
woocommerce_content()

Thanks, have you gone to WooCommerce’s Github? :slight_smile: I’m sure Mike and team would be keen to improve WooCommerce’s performance

GravityDept said

If you’re actually measuring scale in eCommerce, the relevant metric is transactions/second. That is how many orders the DB can intake in a fixed period of 1 second. The number of SKUs is pretty irrelevant because DB reads are way faster than DB writes. And you can put a cache like Varnish in front of static pages to skip DB read all together.

This is where “fat” platforms like Magento will blow WordPress out of the water. WP is not engineered for high-scale write operations. It’s impossible for it to compete with a platform designed specifically for performing under this duress.

That may not be your exact concern, but the same principle applies to any discussion between WordPress add-ons for eCommerce and a single-purpose platform like Magento. Shipping, payments, taxes, inventory, wholesale, CRM, rewards, 3rd party integrations, APIs — everything a store needs out-of-box will be more mature on a native eCommerce platform.

Agreed, +1 for this reply.

I’m actually running different stores with Magento and WooCommerce.

When you cosndier GravityDept’s reply, the Magento store has more transactions than the WooCommerce store so in this aspect, I don’t know which platform is better.

From a Technical SEO and development point of view, WooCommerce has the advantage. Performance wise, Caching is ovbiously important and everyone will have that, but WooCommerce is definitely easier in these 2 aspects. With one of the Magento stores, I am creating a WooCommerce version of it and will finally have some solid data to make an answer to this question a worthwhile read.

davehilditch said
twisted1919 said

I meant measurable against an opcode cache not plain php of course. Don’t jump ship that easy, you’re not facebook to have issues with php itself, but rather with the database usage, and hhvm can’t help you there.

Except I have to solve performance problems for my clients and the problems with woocommerce performance are NOT in the database when you’re running a large store, they are in PHP. The code in question is some pretty crappy core Wordpress and core WooCommerce code which iterates through every product in your database in order to perform category counts. The mysql code for this with 130,000 products runs on an 8-core VPS in 200ms but then the iteration through all these products in PHP takes 180+ seconds.

When I switched to using HHVM, this same code takes a few seconds to complete because it’s now running compiled code.

You’re going to start seeing a LOT of hosts switching to Nginx + HHVM to solve wordpress performance because it really works, really well.

It would be great if the underlying code were fixed too - this is something I’m also working on to try and figure out how to change the core code without affecting functionality.

Hey Dave,

Have you checked out the latest on building themes using REST API?

We have just finished migrating www.brandedbiker.co.uk to woocommerce ,which is a 5 year old site with 10,000+ products.

It was previously a custom .net build and we wanted more control. Its running on a dedicated server and so far seems to be working quite nicely. Certainly no trouble with speed once its set up correctly.

One of our clients have 2500+ products and it is running really smooth, so i think it comes down to your hosting provider.

That’s great - 10,000 products is good - but my clients are working with stores with 100,000+ products (affiliate stores).

Anyway, I’ve built a Mercury Installation and I’ve written some custom code to remove the dodgy category counting code that comes by default with WooCommerce (it recounts the products in categories on every shop view!).

Now we’re looking at 200ms page speeds for all pages on stores on a $40/month VPS with 100,000 products.

Wordpress just bought WooCommerce! :slight_smile: WooCommerce might be able to handle a few hundred of thousand products in the near future if Automattic manages to optimise it and bring in enterprise customers :slight_smile:

You can reach out to Matt Mullenwerg, the founder of Wordpress and owner of Automattic below :slight_smile:

Thank you, you answered my main questions :slight_smile: