Hello,
We are experiencing a serious performance issue on a WooCommerce store using XStore and the XStore “Swatches Filter” widgets.
The shop sidebar was using three XStore Swatches Filter widgets for the following WooCommerce attributes:
pa_color
pa_talla (size)
pa_copa (cup size)
The widgets were configured with query type AND, with product counts, search and AJAX preload disabled.
We noticed that WooCommerce’s wc_layered_nav_counts transients associated with these filters were continuously growing in the wp_options table (qtd_options in our installation).
During normal monitoring, we observed them progressively increasing over several days. Immediately before the server became severely overloaded, their sizes were:
_transient_wc_layered_nav_counts_pa_copa: 8.58 MB
_transient_wc_layered_nav_counts_pa_talla: 4.92 MB
_transient_wc_layered_nav_counts_pa_color: 4.89 MB
All of them had autoload = off.
At the same time, a simple query measuring these transients increased from approximately 0.81 seconds under normal conditions to 5.46 seconds during the performance problem.
The problem became severe enough that:
The WooCommerce store became extremely slow.
WordPress Admin became extremely slow/unavailable.
The server’s real RAM usage increased to approximately 7–8 GB out of 9 GB.
Other websites hosted on the same server also became slow.
Eventually the WooCommerce website started returning 502 Bad Gateway errors.
We deleted ONLY the following WooCommerce layered navigation transients and their timeout entries:
pa_color
pa_talla
pa_copa
Immediately after deleting them, the server and all websites became responsive again.
WooCommerce recreated the transients almost immediately, but initially they were only approximately 0.01 MB each, and the same SQL query then completed in approximately 0.63 seconds.
We then removed the three XStore Swatches Filter widgets from the shop sidebar.
After removing the widgets and navigating through the website, the transients remain extremely small:
pa_talla: 0.02 MB
pa_color: 0.02 MB
pa_copa: 0.01 MB
The SQL query now completes in approximately 0.24 seconds, and the server/websites are running normally again.
We have therefore temporarily disabled these XStore filter widgets because we cannot risk this WooCommerce store affecting every other website hosted on the server.
The site is currently using:
WooCommerce: 11.0.1
XStore: 9.7.7
XStore Core: updated to the latest compatible version.
Could you please investigate whether there is a known issue with the XStore Swatches Filter widget and WooCommerce wc_layered_nav_counts, particularly with WooCommerce 11.x?
We would specifically like to know:
Why these XStore widgets can cause the layered navigation count transients to grow to several MB.
Whether this is a known compatibility/performance issue.
Whether there is a fix or patch available.
Whether there is a recommended XStore filtering method that allows us to filter by Color, Size and Cup Size without generating these extremely large transients.
Whether the XStore filter widgets are fully compatible with WooCommerce 11.0.1.
We can provide screenshots showing the transient sizes, SQL execution times, server RAM/CPU usage and the 502 errors if required.
Thank you.