[Other] Hustle Pro Performance Issues

Hi Guys,

We love WPMU and the plugin suite, but unfortunately have to keep recommending our customers to disable Hustle Pro and switch to something else (usually the build-in Elementor Pro popups, but they’re not as powerful).

We’re “all in” on WPMU (check our account!) and don’t want to be recommending alternatives, so I’m hoping you can address this issue.

On a new install of WordPress, with all plugins disabled other than Query Monitor and Hustle Pro, we get the following stats:

Page generation time: 0.94s
Peak memory usage: 37.5mb
Database queries: 89

If I disable Hustle Pro, we get the following stats:

Page generation time: 0.60s
Peak member usage: 26.5mb
Database queries: 47

When we disable Hustle Pro on production sites, we’re seeing an instant bump up in site load times, both on the back-end and front-end.

  • Kris Tomczyk
    • Ex Staff

    Hi all.

    I hope you are doing good.

    We have some reports in past from members who had multiple pop up on the site, and to be true on of those members had 145 modules from Hustle enabled (most of them were pop-ups).

    With that, you can see some drastic slower performance when checking those values you mentioned. Please note each plugin on the market requires all of those values as well.

    But let’s focus on Hustle at this point.

    I made some tests in my lab and here are the results:

    my settings
    max_execution_time 300
    memory_limit 256M
    PHP 8
    hosting outside WPMU
    no server-side cache
    object cache enabled

    no plugins active (WPMU DEV Dashboard and Hustle also disabled):
    Page generation time: 0.06 – 0.07s couple of refresh
    Peak memory usage: 4.9mb
    Database queries: 6 couple of refresh

    Only Hustle is enabled and Query Monitor (no popups/modules created):
    Page generation time: 0.05s – 0.06s couple of refresh
    Peak memory usage: 6.4mb
    Database queries: 7 couple of refresh

    Only Hustle is enabled and Query Monitor (1 simple popup created):
    Page generation time: 0.06 – 0.07s couple of refresh
    Peak memory usage: 6.4mb
    Database queries: 9 couple of refresh

    Later on, I enabled my server static cache and Hummingbird cache and I get similar results for:
    Only Hustle is enabled and Query Monitor (1 simple popup created).

    Could you let us know Scott what are the values on your site:
    max_execution_time: ???
    memory_limit: ???
    PHP version: ???
    server-side cache/ static cache: ???
    object cache: ???
    how many popups are enabled: ???
    what settings are enabled in those popups: ???

    Kind Regards,
    Kris

  • Jair Jaramillo
    • Staff

    Hello Scott

    Thanks for the video. I also tried to replicate this behavior in order to what might be happening with Hustle Pro. Using a similar setup as Kris, I found that I am getting different results as yours. This is also from a clean WordPress site, with only Query Monitor and Hustle Pro (with the same pop-up template) enabled:

    [attachments are only viewable by logged-in members][attachments are only viewable by logged-in members]

    The difference between having the pop-up enabled and disabled is minimal. Of course, hustle requires resources, and thus the Memory Usage and number of Database Queries has to increase, but it’s different than in your case.

    But as you can see, this test is using a server that has Object Cache enabled. Object caching stores database queries so that when data is needed, it is delivered from the cache without having to query the database. When I disable Object Cache, is when I get similar results to yours.

    [attachments are only viewable by logged-in members][attachments are only viewable by logged-in members]

    As the WordPress CMS is heavily dependent on its database, Object Cache is one of the features of our WPMU DEV hosting; as we provided optimized and managed hosting for WordPress sites. Even if your hosting doesn’t have Object Cache, you can use Hummingbird Pro’s Redis Object Cache integration. And even if you can’t use this integration, using Hummingbird Pro can greatly improve the performance of your site due its page caching and Asset Optimization features.

    [attachments are only viewable by logged-in members][attachments are only viewable by logged-in members]

    If you still have doubts about these results, feel free to enable Support Access:
    Go to your WordPress Dashboard -> WPMU DEV -> Support -> Support Access -> Grant Support Access

    So we can further investigate and check the system information of your test server.

    Kind regards,
    Jair.

  • Scott
    • Director at DCS Digital

    Hi Jair Jaramillo

    I appreciate you taking the time to do such a detailed review.

    However, it’s important to note that the Object Cache is masking the problems. Caching will always speed things up, but it’s more a case of treating the symptom rather than the cause.

    Not all of our clients are hosted with WPMU, and not all clients have access to Object Caching. Yes, in an ideal world we would migrate all clients to WPMU hosting, but we don’t live in that world unfortunately.

    The other side of this is the front-end loading speeds of the site.

    I’ve attached two Lighthouse Reports from Google – the first is just a simple WordPress site with a few plugins enabled, the second is with Hustle Pro enabled. We’ve gone from 100/100 to 83/100 just by adding one popup.

    [attachments are only viewable by logged-in members]

    [attachments are only viewable by logged-in members]

  • Kris Tomczyk
    • Ex Staff

    Hi again.

    The main reason for this issue is the Largest Contentful Paint indicator. When you add a popup or a slide-in, it becomes the largest block and since it has some technical delays the score is significantly decreasing. To improve it back you can change the delay option from 0 sec to 3-5seconds:
    Behavior -> Popup Trigger -> Time -> Delay

    Please note this is not a temporary solution but the solution itself.
    Google indicator Largest Contentful Paint considers Popup as the largest block on the page, though it shows over the page. It’s not a part of the page at all. We need time to show the animation effect, check visibility, load the relevant style and scripts, and other technical stuff. We can’t do it immediately.
    Also, you can check it – if you set the delay Google shows better results but it’s obvious that the page doesn’t start to load faster.

    It looks like Google doesn’t expect that popups will be loaded so fast.
    As a small improvement, our Team will consider setting up and implementing a 3s delay for all new popups by default to have a good Google score from scratch and those who want to load popups faster and aren’t worried about Google PS results will be able to remove the delay in the settings.

    Kris

  • Scott
    • Director at DCS Digital

    Just to add the page speed scores are now 99/100 on desktop and 90/100 for mobile simply by adding that delay.

    I suspect that by using Hummingbird to defer some of the styles and scripts we could bump that up higher.