http://markmaunder.com/ License: GPL */ $username = $argv[1]; $passwd = $argv[2]; $dbName = $argv[3]; if(! ($username && $passwd && $dbName)){ die("Usage: " . $argv[0] . " \n"); } $mysqli = new mysqli('localhost', $username, $passwd, $dbName); $stime = microtime(true); $total = 1000; for($i = 0; $i < $total; $i++){ $res = $mysqli->query("SELECT meta_key, meta_value FROM wp_sitemeta WHERE meta_key IN ('site_name', 'siteurl', 'active_sitewide_plugins', '_site_transient_timeout_theme_roots', '_site_transient_theme_roots', 'site_admins', 'can_compress_scripts', 'global_terms_enabled') AND site_id = 1"); $res = $mysqli->query("SELECT * FROM wp_blogs WHERE domain = 'test1.com'"); $res = $mysqli->query("SELECT option_name, option_value FROM wp_options WHERE autoload = 'yes'"); $res = $mysqli->query("SELECT option_value FROM wp_options WHERE option_name = 'WPLANG' LIMIT 1"); $res = $mysqli->query("SELECT meta_value FROM wp_sitemeta WHERE meta_key = 'WPLANG' AND site_id = 1"); $res = $mysqli->query("SELECT SQL_CALC_FOUND_ROWS wp_posts.* FROM wp_posts WHERE 1=1 AND wp_posts.post_type = 'post' AND (wp_posts.post_status = 'publish') ORDER BY wp_posts.post_date DESC LIMIT 0, 10"); $res = $mysqli->query("SELECT FOUND_ROWS()"); $res = $mysqli->query("SELECT t.*, tt.*, tr.object_id FROM wp_terms AS t INNER JOIN wp_term_taxonomy AS tt ON tt.term_id = t.term_id INNER JOIN wp_term_relationships AS tr ON tr.term_taxonomy_id = tt.term_taxonomy_id WHERE tt.taxonomy IN ('category', 'post_tag', 'post_format') AND tr.object_id IN (17, 11, 4, 1, 13) ORDER BY t.name ASC"); $res = $mysqli->query("SELECT post_id, meta_key, meta_value FROM wp_postmeta WHERE post_id IN (17,11,4,1,13)"); $res = $mysqli->query("SELECT option_value FROM wp_options WHERE option_name = 'widget_mlcalc' LIMIT 1"); $res = $mysqli->query("SELECT option_value FROM wp_options WHERE option_name = 'theme_mods_twentyten' LIMIT 1"); $res = $mysqli->query("SELECT option_value FROM wp_options WHERE option_name = 'mods_Twenty Ten' LIMIT 1"); $res = $mysqli->query("SELECT * FROM wp_posts WHERE (post_type = 'page' AND post_status = 'publish') ORDER BY menu_order, post_title ASC"); $res = $mysqli->query("SELECT * FROM wp_users WHERE ID = 1 LIMIT 1"); $res = $mysqli->query("SELECT user_id, meta_key, meta_value FROM wp_usermeta WHERE user_id IN (1)"); $res = $mysqli->query("SELECT SQL_CALC_FOUND_ROWS wp_posts.* FROM wp_posts WHERE 1=1 AND wp_posts.post_type = 'post' AND (wp_posts.post_status = 'publish') ORDER BY wp_posts.post_date DESC LIMIT 0, 5"); $res = $mysqli->query("SELECT FOUND_ROWS()"); $res = $mysqli->query("SELECT * FROM wp_comments WHERE comment_approved = '1' ORDER BY comment_date_gmt DESC LIMIT 5"); $res = $mysqli->query("SELECT YEAR(post_date) AS `year`, MONTH(post_date) AS `month`, count(ID) as posts FROM wp_posts WHERE post_type = 'post' AND post_status = 'publish' GROUP BY YEAR(post_date), MONTH(post_date) ORDER BY post_date DESC"); $res = $mysqli->query("SELECT t.*, tt.* FROM wp_terms AS t INNER JOIN wp_term_taxonomy AS tt ON t.term_id = tt.term_id WHERE tt.taxonomy IN ('category') AND tt.count > 0 ORDER BY t.name ASC"); $res = $mysqli->query("SELECT meta_value FROM wp_sitemeta WHERE meta_key = 'registration' AND site_id = 1"); } $ftime = microtime(true); echo sprintf('%.3f', $total / ($ftime - $stime)) . " home page hits per second.\n"; $stime = microtime(true); for($i = 0; $i < $total; $i++){ $res = $mysqli->query("SELECT meta_key, meta_value FROM wp_sitemeta WHERE meta_key IN ('site_name', 'siteurl', 'active_sitewide_plugins', '_site_transient_timeout_theme_roots', '_site_transient_theme_roots', 'site_admins', 'can_compress_scripts', 'global_terms_enabled') AND site_id = 1"); $res = $mysqli->query("SELECT * FROM wp_blogs WHERE domain = 'test1.com'"); $res = $mysqli->query("SELECT option_name, option_value FROM wp_options WHERE autoload = 'yes'"); $res = $mysqli->query("SELECT option_value FROM wp_options WHERE option_name = 'WPLANG' LIMIT 1"); $res = $mysqli->query("SELECT meta_value FROM wp_sitemeta WHERE meta_key = 'WPLANG' AND site_id = 1"); $res = $mysqli->query("SELECT wp_posts.* FROM wp_posts WHERE 1=1 AND YEAR(wp_posts.post_date)='2011' AND wp_posts.post_name = 'tst-4' AND wp_posts.post_type = 'post' ORDER BY wp_posts.post_date DESC"); $res = $mysqli->query("SELECT t.*, tt.*, tr.object_id FROM wp_terms AS t INNER JOIN wp_term_taxonomy AS tt ON tt.term_id = t.term_id INNER JOIN wp_term_relationships AS tr ON tr.term_taxonomy_id = tt.term_taxonomy_id WHERE tt.taxonomy IN ('category', 'post_tag', 'post_format') AND tr.object_id IN (17) ORDER BY t.name ASC"); $res = $mysqli->query("SELECT post_id, meta_key, meta_value FROM wp_postmeta WHERE post_id IN (17)"); $res = $mysqli->query("SELECT wp_posts.* FROM wp_posts WHERE 1=1 AND wp_posts.post_type = 'post' AND (wp_posts.post_status = 'publish') ORDER BY wp_posts.post_date ASC LIMIT 0, 1"); $res = $mysqli->query("SELECT p.* FROM wp_posts AS p WHERE p.post_date < '2011-06-20 07:44:37' AND p.post_type = 'post' AND p.post_status = 'publish' ORDER BY p.post_date DESC LIMIT 1"); $res = $mysqli->query("SELECT p.* FROM wp_posts AS p WHERE p.post_date > '2011-06-20 07:44:37' AND p.post_type = 'post' AND p.post_status = 'publish' ORDER BY p.post_date ASC LIMIT 1"); $res = $mysqli->query("SELECT option_value FROM wp_options WHERE option_name = 'widget_mlcalc' LIMIT 1"); $res = $mysqli->query("SELECT option_value FROM wp_options WHERE option_name = 'theme_mods_twentyten' LIMIT 1"); $res = $mysqli->query("SELECT option_value FROM wp_options WHERE option_name = 'mods_Twenty Ten' LIMIT 1"); $res = $mysqli->query("SELECT * FROM wp_posts WHERE (post_type = 'page' AND post_status = 'publish') ORDER BY menu_order, post_title ASC"); $res = $mysqli->query("SELECT * FROM wp_users WHERE ID = 1 LIMIT 1"); $res = $mysqli->query("SELECT user_id, meta_key, meta_value FROM wp_usermeta WHERE user_id IN (1)"); $res = $mysqli->query("SELECT * FROM wp_comments WHERE comment_approved = '1' AND comment_post_ID = 17 ORDER BY comment_date_gmt ASC"); $res = $mysqli->query("SELECT meta_value FROM wp_sitemeta WHERE meta_key = 'nonce_salt' AND site_id = 1"); $res = $mysqli->query("SELECT SQL_CALC_FOUND_ROWS wp_posts.* FROM wp_posts WHERE 1=1 AND wp_posts.post_type = 'post' AND (wp_posts.post_status = 'publish') ORDER BY wp_posts.post_date DESC LIMIT 0, 5"); $res = $mysqli->query("SELECT FOUND_ROWS()"); $res = $mysqli->query("SELECT t.*, tt.*, tr.object_id FROM wp_terms AS t INNER JOIN wp_term_taxonomy AS tt ON tt.term_id = t.term_id INNER JOIN wp_term_relationships AS tr ON tr.term_taxonomy_id = tt.term_taxonomy_id WHERE tt.taxonomy IN ('category', 'post_tag', 'post_format') AND tr.object_id IN (11, 4, 1, 13) ORDER BY t.name ASC"); $res = $mysqli->query("SELECT post_id, meta_key, meta_value FROM wp_postmeta WHERE post_id IN (11,4,1,13)"); $res = $mysqli->query("SELECT * FROM wp_comments WHERE comment_approved = '1' ORDER BY comment_date_gmt DESC LIMIT 5"); $res = $mysqli->query("SELECT YEAR(post_date) AS `year`, MONTH(post_date) AS `month`, count(ID) as posts FROM wp_posts WHERE post_type = 'post' AND post_status = 'publish' GROUP BY YEAR(post_date), MONTH(post_date) ORDER BY post_date DESC"); $res = $mysqli->query("SELECT t.*, tt.* FROM wp_terms AS t INNER JOIN wp_term_taxonomy AS tt ON t.term_id = tt.term_id WHERE tt.taxonomy IN ('category') AND tt.count > 0 ORDER BY t.name ASC"); $res = $mysqli->query("SELECT meta_value FROM wp_sitemeta WHERE meta_key = 'registration' AND site_id = 1"); } $ftime = microtime(true); echo sprintf('%.3f', $total / ($ftime - $stime)) . " blog entry hits per second.\n";