Since January 2022, we have been working hard to optimize the performance of WooCommerce by focusing on Orders and how we can more efficiently manage Order data. We wanted to improve the experience for Merchants and their customers while creating a simpler structure for developers. The result is High-Performance Order Storage (HPOS).
In November, we launched HPOS as an opt-in feature, which allowed us to work with our developer community to further optimize HPOS while we worked out a few bugs and continued testing our platform and working to improve performance.
Performance Improvements
Common requests are faster by up to 30% (and up to 43% for 95 percentile response time)
To start, we specifically focused on order creation because it was directly related to the checkout flow. HPOS unlocks major performance improvements, including up to 5x improvement in performance during order creation. In our testing, the checkout flow was up to 1.5x faster after enabling HPOS.
With the new tables having their own indexes, we’ve seen improvements in meta_query
lookups (up to 10x), and searching customer orders (up to 40x). Even when searching against non-indexed columns, we have seen gains around 3x.
HPOS also reduces the overall database size by eliminating the need to store data in the _posts
and _postmeta
tables. This reduces unnecessary data within these core tables and improves performance across all queries, not just those related to orders.
Scalability, Reliability & Simplicity
Improving performance was a key goal when exploring how HPOS could improve WooCommerce, but it wasn’t the only one. Maintaining order data in core WordPress tables created needless complexity. With new data stores, it’s now easier to extract order-specific data for backups or reporting at any time.
With HPOS, orders are now highly scalable and merchants of any size can handle millions of orders without ever worrying about performance.
Backing up order data is now simpler than ever, giving merchants peace of mind that their customer data is safe.
Ensuring Compatibility with HPOS
Any extensions, themes or custom code using the Woo CRUD are already compatible with HPOS. However, for merchants to use extensions with HPOS, extensions will need to be marked as compatible. You can use this guide to learn how to mark your extension compatible.
Making HPOS the Default Experience
By August 2023 High Performance Order Storage will be enabled by default on all new WooCommerce stores. Any extensions that are not marked compatible will display an incompatibility error message on new stores, starting in August.
Questions?
If you have any questions, please leave a comment on this post. You can also take a look at the available documentation on how to mark extensions as compatible and get started right away!
Leave a Reply