Huge spike in CPU usage/Account Executions after 4.0 update
-
I recently updated to 4.0, and cPanel is telling me that my CPU/Account executions have skyrocketed in the last 24 hours. I reached out to Siteground tech support for more info, and here’s the response I got:
“Thank you for reaching our Help Desk.
The CPU usage of the account is mostly due to the following process being run every 3-5 seconds –
Code:
sunsetcanyonpottery.com-ssl_log:35.206.119.215 – – [12/Mar/2020:11:07:08 -0500] “POST /wp-admin/admin-ajax.php?action=as_async_request_queue_runner&nonce=80dcaf8dc3 HTTP/1.0” 200 – “https://sunsetcanyonpottery.com/wp-admin/admin-ajax.php?action=as_async_request_queue_runner&nonce=80dcaf8dc3” “WordPress/5.3.2; https://sunsetcanyonpottery.com”After tracing the process, it is most likely related to the WooCommerce plugin and it would be best to review that with a professional developer so you can find why it creates those and how to limit/stop it from doing so.”
Please advise,
Stephen- This topic was modified 4 years, 8 months ago by sunsetcanyonpottery.
- This topic was modified 4 years, 8 months ago by sunsetcanyonpottery.
The page I need help with: [log in to see the link]
-
Hi there,
Just to check – are the scheduled actions under **WooCommerce > System Status > Scheduled Actions** triggering as expected? Are you seeing any fatal error logs under **WooCommerce > System Status > Logs**?
I have checked the logs and see two fatal error logs:
from 03.06.20:
2020-03-06T22:51:06+00:00 CRITICAL Uncaught Error: Call to a member function get_parent_id() on bool in /home/sunsetc7/staging/2/wp-content/plugins/woocommerce/includes/class-wc-discounts.php:709
Stack trace:
#0 /home/sunsetc7/staging/2/wp-content/plugins/woocommerce/includes/class-wc-discounts.php(958): WC_Discounts->validate_coupon_product_ids(Object(WC_Coupon))
#1 /home/sunsetc7/staging/2/wp-content/plugins/woocommerce/includes/class-wc-discounts.php(250): WC_Discounts->is_coupon_valid(Object(WC_Coupon))
#2 /home/sunsetc7/staging/2/wp-content/plugins/woocommerce/includes/abstracts/abstract-wc-order.php(1134): WC_Discounts->apply_coupon(Object(WC_Coupon))
#3 /home/sunsetc7/staging/2/wp-content/plugins/order-import-export-for-woocommerce/includes/importer/class-wf-orderimpexpcsv-order-import.php(752): WC_Abstract_Order->apply_coupon(‘10% off salad p…’)
#4 /home/sunsetc7/staging/2/wp-content/plugins/order-import-export-for-woocommerce/includes/importer/class-wf-orderimpexpcsv-order-import.php(387): WF_OrderImpExpCsv_Order_Import->process_ord in /home/sunsetc7/staging/2/wp-content/plugins/woocommerce/includes/class-wc-discounts.php on line 709and from 03.10.20:
2020-03-10T00:09:19+00:00 CRITICAL Uncaught ArgumentCountError: Too few arguments to function WC_Install::run_update_callback(), 0 passed in /home/sunsetc7/public_html/wp-includes/class-wp-hook.php on line 288 and exactly 1 expected in /home/sunsetc7/public_html/wp-content/plugins/woocommerce/includes/class-wc-install.php:195
Stack trace:
#0 /home/sunsetc7/public_html/wp-includes/class-wp-hook.php(288): WC_Install::run_update_callback()
#1 /home/sunsetc7/public_html/wp-includes/class-wp-hook.php(312): WP_Hook->apply_filters(”, Array)
#2 /home/sunsetc7/public_html/wp-includes/plugin.php(544): WP_Hook->do_action(Array)
#3 /home/sunsetc7/public_html/wp-content/plugins/woocommerce/includes/libraries/action-scheduler/classes/ActionScheduler_Action.php(22): do_action_ref_array(‘woocommerce_run…’, Array)
#4 /home/sunsetc7/public_html/wp-content/plugins/woocommerce/includes/libraries/action-scheduler/classes/ActionScheduler_Abstract_QueueRunner.php(59): ActionScheduler_Action->execute()
#5 /home/sunsetc7/public_html/wp-content/plugins/woocommerce/i in /home/sunsetc7/public_html/wp-content/plugins/woocommerce/includes/class-wc-install.php on line 1952020-03-10T15:45:02+00:00 CRITICAL Uncaught Error: Call to a member function get_parent_id() on bool in /home/sunsetc7/public_html/wp-content/plugins/woocommerce/includes/class-wc-discounts.php:709
Stack trace:
#0 /home/sunsetc7/public_html/wp-content/plugins/woocommerce/includes/class-wc-discounts.php(958): WC_Discounts->validate_coupon_product_ids(Object(WC_Coupon))
#1 /home/sunsetc7/public_html/wp-content/plugins/woocommerce/includes/class-wc-discounts.php(250): WC_Discounts->is_coupon_valid(Object(WC_Coupon))
#2 /home/sunsetc7/public_html/wp-content/plugins/woocommerce/includes/abstracts/abstract-wc-order.php(1134): WC_Discounts->apply_coupon(Object(WC_Coupon))
#3 /home/sunsetc7/public_html/wp-content/plugins/order-import-export-for-woocommerce/includes/importer/class-wf-orderimpexpcsv-order-import.php(752): WC_Abstract_Order->apply_coupon(‘10% off salad p…’)
#4 /home/sunsetc7/public_html/wp-content/plugins/order-import-export-for-woocommerce/includes/importer/class-wf-orderimpexpcsv-order-import.php(387): WF_OrderImpExpCsv_Order_Import- in /home/sunsetc7/public_html/wp-content/plugins/woocommerce/includes/class-wc-discounts.php on line 709Here are two pending scheduled actions that haven’t fired yet:
Hook
wc-admin_import_orders
Status
Pending
Arguments
0 => 11952
Group
wc-admin-data
Recurrence
Non-repeating
Scheduled Date
2020-03-13 17:09:12 +0000
(46 seconds ago)
Log
2020-03-13 17:09:07 +0000
action createdHook
wc-admin_import_orders
Status
Pending
Arguments
0 => 11971
Group
wc-admin-data
Recurrence
Non-repeating
Scheduled Date
2020-03-13 17:09:12 +0000
(46 seconds ago)
Log
2020-03-13 17:09:07 +0000
action createdHere are two failed scheduled actions:
Hook
wc-admin_import_orders_batch
Status
Failed
Arguments
0 => 1
1 => NULL
2 => true
Group
wc-admin-data
Recurrence
Non-repeating
Scheduled Date
2019-05-30 16:22:37 +0000
(9 months 2 weeks ago)
Log
2019-05-30 11:22:32 +0000
action created
2019-05-30 11:23:12 +0000
action started
2019-05-30 11:23:12 +0000
unexpected shutdown: PHP Fatal error Uncaught Error: Call to a member function get_customer_id() on boolean in /home/sunsetc7/public_html/wp-content/plugins/woocommerce-admin/includes/data-stores/class-wc-admin-reports-customers-data-store.php:441 Stack trace: #0 /home/sunsetc7/public_html/wp-content/plugins/woocommerce-admin/includes/data-stores/class-wc-admin-reports-customers-data-store.php(464): WC_Admin_Reports_Customers_Data_Store::get_existing_customer_id_from_order(false) #1 /home/sunsetc7/public_html/wp-content/plugins/woocommerce-admin/includes/class-wc-admin-order-refund.php(52): WC_Admin_Reports_Customers_Data_Store::get_or_create_customer_from_order(false) #2 /home/sunsetc7/public_html/wp-content/plugins/woocommerce-admin/includes/data-stores/class-wc-admin-reports-orders-stats-data-store.php(419): WC_Admin_Order_Refund->get_report_customer_id() #3 /home/sunsetc7/public_html/wp-content/plugins/woocommerce-admin/includes/data-stores/class-wc-admin-reports-orders-stats-data-store.php(392): WC_Admin_Reports_Orders_Stats_Data_Store::upd in /home/sunsetc7/public_html/wp-content/plugins/woocommerce-admin/includes/data-stores/class-wc-admin-reports-customers-data-store.php on line 441
2020-03-10 22:41:25 +0000
Migrated action with ID 10326 in ActionScheduler_wpPostStore to ID 14991 in ActionScheduler_DBStoreMigratorHook
woocommerce_run_update_callback
Status
Failed
Arguments
‘update_callback’ => ‘wc_update_390_move_maxmind_database’
Group
woocommerce-db-updates
Recurrence
Non-repeating
Scheduled Date
2020-01-22 20:16:34 +0000
(1 month 2 weeks ago)
Log
2020-03-09 19:09:19 +0000
action started
2020-03-09 19:09:19 +0000
There was a failure fetching this action
2020-03-09 19:09:19 +0000
unexpected shutdown: PHP Fatal error Uncaught ArgumentCountError: Too few arguments to function WC_Install::run_update_callback(), 0 passed in /home/sunsetc7/public_html/wp-includes/class-wp-hook.php on line 288 and exactly 1 expected in /home/sunsetc7/public_html/wp-content/plugins/woocommerce/includes/class-wc-install.php:195 Stack trace: #0 /home/sunsetc7/public_html/wp-includes/class-wp-hook.php(288): WC_Install::run_update_callback() #1 /home/sunsetc7/public_html/wp-includes/class-wp-hook.php(312): WP_Hook->apply_filters(”, Array) #2 /home/sunsetc7/public_html/wp-includes/plugin.php(544): WP_Hook->do_action(Array) #3 /home/sunsetc7/public_html/wp-content/plugins/woocommerce/includes/libraries/action-scheduler/classes/ActionScheduler_Action.php(22): do_action_ref_array(‘woocommerce_run…’, Array) #4 /home/sunsetc7/public_html/wp-content/plugins/woocommerce/includes/libraries/action-scheduler/classes/ActionScheduler_Abstract_QueueRunner.php(59): ActionScheduler_Action->execute() #5 /home/sunsetc7/public_html/wp-content/plugins/woocommerce/i in /home/sunsetc7/public_html/wp-content/plugins/woocommerce/includes/class-wc-install.php on line 195
2020-03-10 22:41:25 +0000
Migrated action with ID 14755 in ActionScheduler_wpPostStore to ID 14992 in ActionScheduler_DBStoreMigratorMost probably, the best way to handle this is…
or what we have done that looks like the CPU usage going down over time is…Using Code Snippets Plugin:
1. Disable WooCommerce Analytics Dashboard
add_filter( 'woocommerce_admin_disabled', '__return_true' );
2. Stop Heatbeat completely
add_action( 'init', 'stop_heartbeat', 1 ); function stop_heartbeat() { wp_deregister_script('heartbeat'); }
Hope this helps.
Thank you for your responses! I’m going to try the suggestion by @ihealthcareanalyst first and monitor the site, as that seems a bit simpler to implement. I’ll let you all know how it goes.
So far, it appears that the steps taken by @ihealthcareanalyst are helping keep our usage within tolerable levels. It’s still a bit high for my comfort, but manageable. I’m also working with Elementor tech support to address this because it seems like that is having its own issues.
I have the same problem. I don’t have plugin woocommerce, but in my template framework genesis there are some call to woocommerce.
I commenting out the loading of the WooCommerce support files but even this solution doesn’t work.
Can you suggest other solutions?
@ihealthcareanalyst: where Can I put your solution? In woocommerce plugin?
Hi there @sunsetcanyonpottery,
Very glad to hear that the provided snippets have helped improve things on your site! I’m going to mark this thread as resolved.
If you have any further questions, please start a new thread.@mokinalivorg — if you are not using the WooCommerce plugin, then the snippet about disabling the WooCommerce admin dashboard will not make any difference on your site. For the Heartbeat one (and PHP snippets in general), it could be added to your child theme’s
functions.php
file or via a plugin that allows custom functions to be added, such as the Code Snippets plugin. Please don’t add custom code directly to your parent theme’sfunctions.php
file as this will be wiped entirely when you update.That said, if you are not using WooCommerce, then this would not be the right place to discuss your situation. For editing things in the Genesis framework, I would recommend reaching out to the Genesis devs:
https://my.studiopress.com/themes/genesis/Have a wonderful day!
Just to follow up here I am having the same issue as @sunsetcanyonpottery and @ihealthcareanalyst
I created a new ticket as this one is already marked resolved:
In addition @ihealthcareanalyst has a nice solution, except I found that when using the code snippet to stop switch of Heartbeat that The Query Monitor plugin was showing that there was an error (can’t remember exact details) because something wasn’t being loaded related to the WP Heartbeat.
So instead I recommend to install the Heartbeat Control plugin (https://www.ads-software.com/plugins/heartbeat-control/) plugin and follow the instructions in this Kinsta article (https://kinsta.com/blog/admin-ajax/).
Hope this helps someone and that this gets recognized as an issue and devs look for a solution. Thanks
- The topic ‘Huge spike in CPU usage/Account Executions after 4.0 update’ is closed to new replies.