Slow count_users query on all admin pages
-
We are experiencing the same issue outlined in this thread – https://www.ads-software.com/support/topic/horrible-performance-of-users-php/
The
count_users()
query is running on every admin page causing slowdown. Our query differs slightly than the one mentioned in the original post:SELECT COUNT(NULLIF(
meta_value
LIKE '****SNIPPED USER ROLES FOR SECURITY****), COUNT(NULLIF(meta_value
= 'a:0:{}', false)), COUNT(*) FROM wp_usermeta INNER JOIN wp_users ON user_id = ID WHERE meta_key = 'wp_capabilities'****SNIPPED USER ROLES FOR SECURITY****
So far we have attempted to fix the issue by implementing the suggested fix from @missveronicatv below:Change line 337 in
/plugins/ultimate-member/includes/core/class-query.php
from$result = count_users();
to$result = count_users( 'um_cache' );
Install this code snippet to your active theme’s functions.php file
or use the “Code Snippets” plugin.add_filter( 'pre_count_users', 'pre_count_users_by_um_caching', 10, 3 ); function pre_count_users_by_um_caching( $null, $strategy, $site_id ) { if( $strategy != 'um_cache' ) return null; $result = array(); $result['total_users'] = 0; $array = array( 'approved', 'rejected', 'awaiting_admin_review', 'awaiting_email_confirmation', 'inactive', ); foreach( $array as $status ) { $result['total_users'] += intval( UM()->query()->count_users_by_status( $status )); } return $result; }
The slow query is still running on all admin pages however. The query is most likely very slow due to the fact we have a lot of different user roles with many users.
Are there any updates on how to fix UM slow user queries?
- The topic ‘Slow count_users query on all admin pages’ is closed to new replies.