Index: wp-includes/ms-default-filters.php
===================================================================
--- wp-includes/ms-default-filters.php	(revision 15870)
+++ wp-includes/ms-default-filters.php	(working copy)
@@ -39,6 +39,8 @@
 add_action( 'private_to_published', 'wpmu_update_blogs_date' );
 add_action( 'publish_phone', 'wpmu_update_blogs_date' );
 add_action( 'publish_post', 'wpmu_update_blogs_date' );
+add_action( 'admin_init', 'wp_schedule_update_checks');
+add_action( 'update_network_counts', 'wp_update_network_counts');
 
 // Files
 add_filter( 'wp_upload_bits', 'upload_is_file_too_big' );
@@ -57,7 +59,6 @@
 	add_filter( 'enable_edit_any_user_configuration', '__return_false' );
 add_filter( 'force_filtered_html_on_import', '__return_true' );
 
-
 // WP_HOME and WP_SITEURL should not have any effect in MS
 remove_filter( 'option_siteurl', '_config_wp_siteurl' );
 remove_filter( 'option_home',    '_config_wp_home'    );
Index: wp-includes/ms-functions.php
===================================================================
--- wp-includes/ms-functions.php	(revision 15870)
+++ wp-includes/ms-functions.php	(working copy)
@@ -157,18 +157,7 @@
  * @return int
  */
 function get_user_count() {
-	global $wpdb;
-
-	$count_ts = get_site_option( 'user_count_ts' );
-	if ( time() - $count_ts > 3600 ) {
-		$count = $wpdb->get_var( $wpdb->prepare("SELECT COUNT(ID) as c FROM $wpdb->users WHERE spam = '0' AND deleted = '0'") );
-		update_site_option( 'user_count', $count );
-		update_site_option( 'user_count_ts', time() );
-	}
-
-	$count = get_site_option( 'user_count' );
-
-	return $count;
+	return get_site_option( 'user_count' );
 }
 
 /**
@@ -184,21 +173,7 @@
  * @return int
  */
 function get_blog_count( $id = 0 ) {
-	global $wpdb;
-
-	if ( $id == 0 )
-		$id = $wpdb->siteid;
-
-	$count_ts = get_site_option( 'blog_count_ts' );
-	if ( time() - $count_ts > 3600 ) {
-		$count = $wpdb->get_var( $wpdb->prepare("SELECT COUNT(blog_id) as c FROM $wpdb->blogs WHERE site_id = %d AND spam = '0' AND deleted = '0' and archived = '0'", $id) );
-		update_site_option( 'blog_count', $count );
-		update_site_option( 'blog_count_ts', time() );
-	}
-
-	$count = get_site_option( 'blog_count' );
-
-	return $count;
+	return get_site_option( 'blog_count' );
 }
 
 /**
@@ -1533,4 +1508,32 @@
 	return $url;
 }
 
+/**
+ * Schedule update of the network-wide counts for the current network.
+ *
+ * @since 3.1.0
+ */
+function wp_schedule_update_network_counts() {
+	if ( !is_main_site() )
+		return;
+
+	if ( !wp_next_scheduled('update_network_counts') && !defined('WP_INSTALLING') )
+		wp_schedule_event(time(), 'twicedaily', 'update_network_counts');
+}
+
+/**
+ *  Update the network-wide counts for the current network.
+ *
+ *  @since 3.1.0
+ */
+function wp_update_network_counts() {
+	global $wpdb;
+
+	$count = $wpdb->get_var( $wpdb->prepare("SELECT COUNT(blog_id) as c FROM $wpdb->blogs WHERE site_id = %d AND spam = '0' AND deleted = '0' and archived = '0'", $wpdb->siteid) );
+	update_site_option( 'blog_count', $count );
+
+	$count = $wpdb->get_var( $wpdb->prepare("SELECT COUNT(ID) as c FROM $wpdb->users WHERE spam = '0' AND deleted = '0'") );
+	update_site_option( 'user_count', $count );
+}
+
 ?>
Index: wp-admin/includes/default-list-tables.php
===================================================================
--- wp-admin/includes/default-list-tables.php	(revision 15870)
+++ wp-admin/includes/default-list-tables.php	(working copy)
@@ -2739,6 +2739,18 @@
 		$pagenum = $this->get_pagenum();
 
 		$s = isset( $_REQUEST['s'] ) ? stripslashes( trim( $_REQUEST[ 's' ] ) ) : '';
+
+		// Limit is set to 2 for testing.
+		if ( ! $s && ( get_blog_count() > 2 ) ) {
+			$total = 0;
+			$this->items = array();
+			$this->set_pagination_args( array(
+				'total_items' => $total,
+				'per_page' => $per_page,
+			) );
+			return;
+		}
+
 		$like_s = esc_sql( like_escape( $s ) );
 
 		$query = "SELECT * FROM {$wpdb->blogs} WHERE site_id = '{$wpdb->siteid}' ";
