• Resolved aqmattil

    (@aqmattil)


    Hello,

    I’m working on a bookings site where I’m selling slots of time to customers (basically a sporting activity). WP 4.4.1, WC 2.4.12, Bookings 1.8.7 and a bunch of other plugins as well.

    For each day there are ~10 time slots bookable, and for each slot there are ~30 available places to book. There are ~5 products sold on the site, and 3 different resources. The site is hosted on Siteground Cloud Hosting (a VPS). I have some 500 visitors per day on the site. I would consider this as a quite small setup.

    My problem is that both the back-end and all bookings-related pages load incredibly slow. The response times vary between 10-20 seconds. If I disable the WC-Bookings, everything loads nicely, so the problem seems to be related to the plugin. You can see the live site with one problematic product at (https://www.irtimaasta.fi/tuote/kertalippu-lapset/)

    What I’d like to know is if anyone else is experiencing these issues and if anyone has been able to fix these? I’ve posted couple of tickets on Woothemes, but they are extremely slow in responding (so far nothing)

    What I’ve tried so far is:
    I’ve tested with disabling the Heartbeat (see discussion in https://support.woothemes.com/hc/en-us/community/posts/201220087-Woocommerce-Causes-Slow-admin-ajax-php-Load-Times), and limiting the WC-scripts to load only on WC-pages (see https://gist.github.com/DevinWalker/7621777), but these did not have visible effect, as the problem seems to be with Woocommerce pages and/or WP itself.

    I think this issue first appeared with WP 4.2 (see https://www.ads-software.com/support/topic/woocommerce-extremely-slow-after-wordpress-42-update/page/2?replies=85), but I haven’t yet tried solutions proposed there.

    My database seems to be of manageable size, but I’ll post the largest table sizes here just in case:
    – wp_options table ~21 k rows with some 11k transients (I didn’t yet delete expired transients)
    – wp_postmeta table ~150 k rows
    – wp_woocommerce_order_itemmeta table ~150 k rows

    Based on Query monitor’s slow queries
    – WC_Bookings_Controller::get_bookings_in_date_range_query(),
    – WC_Bookings_Controller::get_bookings_for_objects_query())
    it seems that Bookings is going through all dates and slots before showing anything on screen. The same behaviour occurs even if the calendar is not visible by default. However, the db logs indicate “SELECT meta_key FROM wp_postmeta GROUP BY meta_key HAVING meta_key NOT LIKE ‘\\_%’ ORDER BY meta_key LIMIT 30” queries being also slow (see discussion in WP4.2 related problems (link above)

    So far I haven’t found any definite answers on how to approach fixing this issue, so I’d appreciate all tips and pointers to the right direction.

    tl;dr
    Is there anything that can be done to speed up Woocommerce (2.4.12) Bookings (1.8.7) extension, which is ridiculously slow?

    Thanks in advance,
    Aleksi

    https://www.ads-software.com/plugins/woocommerce/

Viewing 9 replies - 1 through 9 (of 9 total)
  • Hello,

    Have you found any workarounds or fixes for this problem? We are experiencing the same issue. The issue does not exist on products that are not bookable. I have attempted minor work arounds such as changing how far into the future blocks can be booked. After a few tests there seems to be no noticeable difference with any organic changes to bookable products. The site loads at a relatively quick speed, but the bookable products pages take 30-40 seconds to load.

    If you have found a work around I would be grateful to hear what you did.

    Plugin Contributor Mike Jolley (a11n)

    (@mikejolley)

    The team have been working on various speed improvements. And there have been many updates in the past two months. Ensure you’re up to date.

    Since this forum is for WC core only, please use support.woothemes.com in future.

    Thanks

    I did find a solution. I deactivated and uninstalled bookings then reinstalled the plugin completely and now the page load time are within acceptable load times.

    Thread Starter aqmattil

    (@aqmattil)

    HI,

    There seems to be an update coming sometime soon that addresses these issues. I have been corresponding with woothemes support and I’m keeping my fingers crossed. FWIW, versions 1.8.7 to 1.9.4 did not bring any noticeable performance improvements, at least for me.

    On my site there’s a large number of transients being created that slows everything down, deleting these every two-three days helps me a bit. If you want, drop me a line directly, and I can explain what I tried in more detail, if that’s of any use.

    What comes to support.woothemes.com, it seems to be in the process of shutting down, and the most recent posts there are over one year old. The reason for posting here in the first place was that I was not able to find any other forum / KB that would have discussed these issues even remotely, and my tickets were not being answered in reasonable time (1-2 weeks). My apologies for posting in the wrong forum. Since this issue will hopefully be fixed in the near future, I won’t be posting here any more on this matter.

    Regards,
    Aleksi

    This is so bad, even their demo is slow https://demo.woothemes.com/bookings/product/coconut-paradise-all-inclusive-resort/

    And here I was thinking about buying it… Guess I’ll have to wait or find an alternative.

    Same issue here. Have many rows on ‘Global Availability’ – am wondering if this is causing slow loading speed…? Have raised ticket with Woo but no response and been a few days now…
    Bought 5 licenses for this plugin so not happy at all at how things are shaping up.

    Yeah, this is a huge issue for us as well. The WooCommerce bookings plugin is literally causing thousands of SQL queries that take forever to process. Our average page load time in analytics has gone up to about 37 seconds on bookable items on our site because of the plugin.

    We have followed up with WooCommerce extensively about this issue for the past few months, and they told us to wait for a plugin update. We waited, updated the plugin when it first came out, and it was still super slow. The only thing I could do to speed the site up was dump out all the orders from the DB, which is easier said than done, because woocommerce stores all of it’s products and orders inside of the main wp_posts table. So you cant simply drop a table and clear out the old orders, because you’ll also delete all the content on your site. So you have to run an SQL query to specifically delete the orders. But then, there’s additional meta data regarding the booking dates etc stored in another table, “wp_wc_booking_relationships” that has all of the dates etc of the past orders as well I believe. I tried deleting that too, but things still weren’t working correctly. In the end, I actually wound up creating a completely new blank database and wordpress install, and then exporting and importing all of our old posts/pages, and having to set back up and reconfigure all of our plugins again. This was the only way that I get page load times back to an acceptable duration. But now, just a few weeks later, my site has already slowed back down to 30+ seconds on some of our product pages that have the booking calendar.

    We’ve emailed them at least 10 times about this, and I’ve also Tweeted to the developer, Mike Jolly about the issue,(because no one would email us back) and we’ve had little to no meaningful response from them. Our first message went un-answered for several weeks, and then they claimed that the support ticket we sent went into their “junk” somehow. After they finally responded, it was the typical “disable all other plugins” response and also that:

    “Availability queries take a long time to process, generally. You may wish to review your availability rules for your products and either optimize those rules or find a hosting plan that can handle them.”

    That’s a direct quote from a support email that I got from WooCommerce regarding this issue. We have a dedicating hosting environment with WP engine that we pay 600 bucks a month for. The problem isnt our server or our “availability rules.” The problem is with the plugin itself not being architected properly in a scalable way.

    Plugin Contributor Mike Jolley (a11n)

    (@mikejolley)

    emerg1 I’ve not looked at your tickets specifically, but I will just say bookings is complex; it has to do complex queries to see what slots are left by looking at orders. Transient cache can be implemented but only goes so far. Its still going to be heavy especially when dealing with lots of slots per day which are also dynamic, parsing your various rules, and finding out what is left. The team are aware of this and are working on solutions, but this is not going to take some time.

    I’ll pass this thread on to the developers working on it so they can reference it.

    For now, if you’re not happy with how bookings functions, I can only apologise on behalf of the team and say that there is a refund policy if you wish to move to another solution from another author or build your own. Just use the help desk to request that.

    This thread is not on-topic so I’m going to ask a mod to stop by. We only support WooCommerce core on this forum and we’re not allowed to support premium plugins and themes on this forum as per the forum guidelines.

    https://codex.www.ads-software.com/Forum_Welcome#The_Bad_Stuff

    Moderator Jan Dembowski

    (@jdembowski)

    Forum Moderator and Brute Squad

    *Looks*

    As this topic has become something besides support, I’m going to close the topic down.

    As MIke has explained, the Bookings add-on is a premium plugin and those are not supported in these forums. Here’s what’s posted when that happens.

    For pro or commercial product support please contact the author directly on their site.

    As the author is aware, commercial products are not supported in these forums. As you are their customer I am sure they will have no problem supporting you there.

    Or to re-iterate what Mike wrote:

    For now, if you’re not happy with how bookings functions, I can only apologise on behalf of the team and say that there is a refund policy if you wish to move to another solution from another author or build your own. Just use the help desk to request that.

    If you have support question for a plugin or theme or even WordPress in general then please feel free to raise a new support topic.

Viewing 9 replies - 1 through 9 (of 9 total)
  • The topic ‘Woocommerce Bookings working extremely slow – how to speed up?’ is closed to new replies.