Many calls to admin-ajax.php causing high server load

Home Forums AdRotate for WordPress General Support Many calls to admin-ajax.php causing high server load

This topic contains 6 replies, has 3 voices, and was last updated by  Arnan 1 year, 6 months ago.

  • #37992

    rizknows
    Badges:

    We recently activated this plugin on a site that gets a fair amount of traffic, but are now having problems with server load due to many calls to /wp-admin/admin-ajax.php.

    We reached out to our hosting provider, who sent us the following:

    This install has made about 143929 calls to the /wp-admin/admin-ajax.php file. The action that is making that call so many times is adrotate_impression which is coming from the adrotate-pro plugin. In about oue minute of monitoring the actions coming in to admin ajax there have been about 200 calls to the adrotate_impression action.

    Additionally, when accessing the site to edit pages, the following error continues to appear in a dialogue box at the top of the page:

    DataTables warning: table id=user-list – Ajax error. For more information about this error, please see http://datatables.net/tn/7

    We would like to continue to use this plugin, but the error is affecting our whole server, so we have had to deactivate it for now.

    For reference, the plugin was set up with only one group of ads, which ran on the homepage. The ads were dynamic, changing every 10 seconds, and counted impressions for every cycle of ads.

    Let me know what feedback you have! Thanks.

    #38016

    Arnan
    Badges:

    Seems like not all those calls are from AdRotate (pro) 🙂
    AdRotate (Pro) has no table user-list, nor does it use such a table.

    Of-course many plugins and themes use this script, it’s a the way to have javascript do things in a database. A silly and inefficient system, sure. But it’s the best WP has to offer.

    Anyway, to lessen calls like that, don’t use dynamic groups (or less of them).
    In recent versions of AdRotate (Pro) the admin-ajax stuff has been improved to work more efficiently. So also make sure you’re up-to-date.

    #38091

    rizknows
    Badges:

    Thanks for the reply!

    I can confirm that we are using the most updated version of Ad Rotate Pro – 4.9.1. It seems like the second issue with the user-list table is unrelated, that’s fine.

    We only have one Dynamic group on the site, on the homepage.

    It looks like the issue is coming from the adrotate_impression action. Would this be resolved by tracking analytics in a different way, say through Google Analytics?

    https://ajdg.solutions/manuals/adrotate-manuals/google-analytics/

    If not, is there any way to continue to use Dynamic groups with this plugin without resulting in this error?

    Thanks in advance!

    #38108

    Daniel
    Badges:

    I have had the same problem. I love the program and the function but when I launched it on our new site, and new hosting, it maxed out my cpu usage within a day and caused me site to be locked out. Is there any solution out there to fix this?

    #38127

    Arnan
    Badges:

    Collecting stats externally, with Google or Piwik, will remove the call entirely.
    Most hosts have no issue with the admin-ajax stuff though. So the problem may just be with weak/cheap hosting.

    Many shared hosting “solutions” are not up to spec for larger plugins like AdRotate (Pro), same as that WooCommerce has a higher memory requirement for larger/busier shops.

    #38588

    rizknows
    Badges:

    One more question on this topic…

    Google Analytics stats do not track impressions the same way the Ad Rotate stats do. What do you recommend in order to track impressions without the admin-ajax.php call?

    Thanks in advance!

    #39155

    Arnan
    Badges:

    Different systems, different algorithms.
    If Google Analytics is not to your liking you can also use Piwik Analytics.

Viewing 7 posts - 1 through 7 (of 7 total)

The topic ‘Many calls to admin-ajax.php causing high server load’ is closed to new replies.

You may be interested in