問:您好!近來觀察到本站每天發生一次網站運行中規律性堵塞,SQL占用很高達150%以上。
,網站規律性運行堵塞,SQL占用很高
答:您好,這個是mysql數據庫,占用CPU較高,說明當時使用較大,如果您想進一步分析,可以通過密碼登入數據庫,然后執行show processlist;命令,查看當時正在執行的sql語句,另外再接合當時的網站訪問日志,看看是否有異常訪問,非常感謝您長期對我司的支持!
問:請問下登入數據庫是用什么命令?謝謝
答:您好,登錄數據庫的命令是:
mysql -u -p密碼 回車
然后再輸入show processlist;
可以顯示出當前正在執行的sql語句,建議在CPU占用比較高的時候查詢,非常感謝您長期對我司的支持!
問:好的,謝謝!根據命令查詢如下;mysql> show processlist -> show processlish;ERROR 1064 : You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'show processlish' at line 2mysql> show processlist; —— —— —— —— | Id | User | Host | db | Command | Time | State | Info | —— —— —— —— | 824 | monseng | localhost | monseng | Query | 275 | Sending data | SELECT p.* FROM ms_posts AS p INNER JOIN ms_term_relationships AS tr ON p.ID = tr.object_id INNER J || 828 | monseng | localhost | monseng | Query | 267 | Sending data | SELECT p.* FROM ms_posts AS p INNER JOIN ms_term_relationships AS tr ON p.ID = tr.object_id INNER J || 850 | monseng | localhost | monseng | Query | 237 | Sending data | SELECT p.* FROM ms_posts AS p INNER JOIN ms_term_relationships AS tr ON p.ID = tr.object_id INNER J || 853 | monseng | localhost | monseng | Query | 237 | Sending data | SELECT p.* FROM ms_posts AS p INNER JOIN ms_term_relationships AS tr ON p.ID = tr.object_id INNER J || 879 | monseng | localhost | monseng | Query | 216 | Sending data | SELECT p.* FROM ms_posts AS p INNER JOIN ms_term_relationships AS tr ON p.ID = tr.object_id INNER J || 894 | monseng | localhost | monseng | Query | 205 | Sending data | SELECT p.* FROM ms_posts AS p INNER JOIN ms_term_relationships AS tr ON p.ID = tr.object_id INNER J || 897 | monseng | localhost | monseng | Query | 199 | Sending data | SELECT p.* FROM ms_posts AS p INNER JOIN ms_term_relationships AS tr ON p.ID = tr.object_id INNER J || 914 | monseng | localhost | monseng | Query | 185 | Sending data | SELECT p.* FROM ms_posts AS p INNER JOIN ms_term_relationships AS tr ON p.ID = tr.object_id INNER J || 916 | monseng | localhost | monseng | Query | 177 | Sending data | SELECT p.* FROM ms_posts AS p INNER JOIN ms_term_relationships AS tr ON p.ID = tr.object_id INNER J || 917 | monseng | localhost | monseng | Query | 176 | Sending data | SELECT p.* FROM ms_posts AS p INNER JOIN ms_term_relationships AS tr ON p.ID = tr.object_id INNER J || 919 | monseng | localhost | monseng | Query | 176 | Sending data | SELECT p.* FROM ms_posts AS p INNER JOIN ms_term_relationships AS tr ON p.ID = tr.object_id INNER J || 921 | monseng | localhost | monseng | Query | 172 | Sending data | SELECT p.* FROM ms_posts AS p INNER JOIN ms_term_relationships AS tr ON p.ID = tr.object_id INNER J || 922 | monseng | localhost | monseng | Query | 173 | Sending data | SELECT p.* FROM ms_posts AS p INNER JOIN ms_term_relationships AS tr ON p.ID = tr.object_id INNER J || 925 | monseng | localhost | monseng | Query | 172 | Sending data | SELECT p.* FROM ms_posts AS p INNER JOIN ms_term_relationships AS tr ON p.ID = tr.object_id INNER J || 930 | monseng | localhost | monseng | Query | 168 | Sending data | SELECT p.* FROM ms_posts AS p INNER JOIN ms_term_relationships AS tr ON p.ID = tr.object_id INNER J || 931 | monseng | localhost | monseng | Query | 166 | Sending data | SELECT p.* FROM ms_posts AS p INNER JOIN ms_term_relationships AS tr ON p.ID = tr.object_id INNER J || 936 | monseng | localhost | monseng | Query | 156 | Sending data | SELECT p.* FROM ms_posts AS p INNER JOIN ms_term_relationships AS tr ON p.ID = tr.object_id INNER J || 941 | monseng | localhost | monseng | Query | 151 | Sending data | SELECT p.* FROM ms_posts AS p INNER JOIN ms_term_relationships AS tr ON p.ID = tr.object_id INNER J || 945 | monseng | localhost | monseng | Query | 150 | Sending data | SELECT p.* FROM ms_posts AS p INNER JOIN ms_term_relationships AS tr ON p.ID = tr.object_id INNER J || 958 | monseng | localhost | monseng | Query | 136 | Sending data | SELECT p.* FROM ms_posts AS p INNER JOIN ms_term_relationships AS tr ON p.ID = tr.object_id INNER J || 964 | monseng | localhost | monseng | Query | 130 | Sending data | SELECT p.* FROM ms_posts AS p INNER JOIN ms_term_relationships AS tr ON p.ID = tr.object_id INNER J || 970 | monseng | localhost | monseng | Query | 114 | Sending data | SELECT p.* FROM ms_posts AS p INNER JOIN ms_term_relationships AS tr ON p.ID = tr.object_id INNER J || 975 | monseng | localhost | monseng | Query | 114 | Sending data | SELECT p.* FROM ms_posts AS p INNER JOIN ms_term_relationships AS tr ON p.ID = tr.object_id INNER J || 981 | monseng | localhost | monseng | Query | 102 | Sending data | SELECT p.* FROM ms_posts AS p INNER JOIN ms_term_relationships AS tr ON p.ID = tr.object_id INNER J || 983 | monseng | localhost | monseng | Query | 102 | Sending data | SELECT p.* FROM ms_posts AS p INNER JOIN ms_term_relationships AS tr ON p.ID = tr.object_id INNER J || 1001 | monseng | localhost | monseng | Query | 99 | Sending data | SELECT p.* FROM ms_posts AS p INNER JOIN ms_term_relationships AS tr ON p.ID = tr.object_id INNER J || 1006 | monseng | localhost | monseng | Query | 92 | Sending data | SELECT p.* FROM ms_posts AS p INNER JOIN ms_term_relationships AS tr ON p.ID = tr.object_id INNER J || 1009 | monseng | localhost | monseng | Query | 88 | Sending data | SELECT p.* FROM ms_posts AS p INNER JOIN ms_term_relationships AS tr ON p.ID = tr.object_id INNER J || 1014 | monseng | localhost | monseng | Query | 81 | Sending data | SELECT p.* FROM ms_posts AS p INNER JOIN ms_term_relationships AS tr ON p.ID = tr.object_id INNER J || 1017 | monseng | localhost | monseng | Query | 81 | Sending data | SELECT p.* FROM ms_posts AS p INNER JOIN ms_term_relationships AS tr ON p.ID = tr.object_id INNER J || 1024 | monseng | localhost | NULL | Query | 0 | init | show processlist || 1028 | monseng | localhost | monseng | Query | 78 | Sending data | SELECT p.* FROM ms_posts AS p INNER JOIN ms_term_relationships AS tr ON p.ID = tr.object_id INNER J || 1032 | monseng | localhost | monseng | Query | 70 | Sending data | SELECT p.* FROM ms_posts AS p INNER JOIN ms_term_relationships AS tr ON p.ID = tr.object_id INNER J || 1035 | monseng | localhost | monseng | Query | 68 | Sending data | SELECT p.* FROM ms_posts AS p INNER JOIN ms_term_relationships AS tr ON p.ID = tr.object_id INNER J || 1040 | monseng | localhost | monseng | Query | 66 | Sending data | SELECT p.* FROM ms_posts AS p INNER JOIN ms_term_relationships AS tr ON p.ID = tr.object_id INNER J || 1045 | monseng | localhost | monseng | Query | 65 | Sending data | SELECT p.* FROM ms_posts AS p INNER JOIN ms_term_relationships AS tr ON p.ID = tr.object_id INNER J || 1055 | monseng | localhost | monseng | Query | 56 | Sending data | SELECT p.* FROM ms_posts AS p INNER JOIN ms_term_relationships AS tr ON p.ID = tr.object_id INNER J || 1061 | monseng | localhost | monseng | Query | 49 | Sending data | SELECT p.* FROM ms_posts AS p INNER JOIN ms_term_relationships AS tr ON p.ID = tr.object_id INNER J || 1062 | monseng | localhost | monseng | Query | 50 | Sending data | SELECT p.* FROM ms_posts AS p INNER JOIN ms_term_relationships AS tr ON p.ID = tr.object_id INNER J || 1063 | monseng | localhost | monseng | Query | 47 | Sending data | SELECT p.* FROM ms_posts AS p INNER JOIN ms_term_relationships AS tr ON p.ID = tr.object_id INNER J || 1064 | monseng | localhost | monseng | Query | 47 | Sending data | SELECT p.* FROM ms_posts AS p INNER JOIN ms_term_relationships AS tr ON p.ID = tr.object_id INNER J || 1067 | monseng | localhost | monseng | Query | 45 | Sending data | SELECT p.* FROM ms_posts AS p INNER JOIN ms_term_relationships AS tr ON p.ID = tr.object_id INNER J || 1068 | monseng | localhost | monseng | Query | 47 | Sending data | SELECT p.* FROM ms_posts AS p INNER JOIN ms_term_relationships AS tr ON p.ID = tr.object_id INNER J || 1069 | monseng | localhost | monseng | Query | 45 | Sending data | SELECT p.* FROM ms_posts AS p INNER JOIN ms_term_relationships AS tr ON p.ID = tr.object_id INNER J || 1073 | monseng | localhost | monseng | Query | 44 | Sending data | SELECT p.* FROM ms_posts AS p INNER JOIN ms_term_relationships AS tr ON p.ID = tr.object_id INNER J || 1074 | monseng | localhost | monseng | Query | 39 | Sending data | SELECT p.* FROM ms_posts AS p INNER JOIN ms_term_relationships AS tr ON p.ID = tr.object_id INNER J || 1078 | monseng | localhost | monseng | Query | 34 | Sending data | SELECT p.* FROM ms_posts AS p INNER JOIN ms_term_relationships AS tr ON p.ID = tr.object_id INNER J || 1080 | monseng | localhost | monseng | Query | 33 | Sending data | SELECT p.* FROM ms_posts AS p INNER JOIN ms_term_relationships AS tr ON p.ID = tr.object_id INNER J || 1083 | monseng | localhost | monseng | Query | 26 | Sending data | SELECT p.* FROM ms_posts AS p INNER JOIN ms_term_relationships AS tr ON p.ID = tr.object_id INNER J || 1086 | monseng | localhost | monseng | Query | 19 | Sending data | SELECT p.* FROM ms_posts AS p INNER JOIN ms_term_relationships AS tr ON p.ID = tr.object_id INNER J || 1087 | monseng | localhost | monseng | Query | 18 | Sending data | SELECT p.* FROM ms_posts AS p INNER JOIN ms_term_relationships AS tr ON p.ID = tr.object_id INNER J || 1088 | monseng | localhost | monseng | Sleep | 14 | | NULL || 1089 | monseng | localhost | monseng | Query | 15 | Sending data | SELECT p.* FROM ms_posts AS p INNER JOIN ms_term_relationships AS tr ON p.ID = tr.object_id INNER J || 1090 | monseng | localhost | monseng | Query | 14 | Sending data | SELECT p.* FROM ms_posts AS p INNER JOIN ms_term_relationships AS tr ON p.ID = tr.object_id INNER J || 1091 | monseng | localhost | monseng | Query | 12 | Sending data | SELECT p.* FROM ms_posts AS p INNER JOIN ms_term_relationships AS tr ON p.ID = tr.object_id INNER J || 1095 | monseng | localhost | monseng | Query | 7 | Sending data | SELECT p.* FROM ms_posts AS p INNER JOIN ms_term_relationships AS tr ON p.ID = tr.object_id INNER J || 1096 | monseng | localhost | monseng | Query | 3 | Sending data | SELECT p.* FROM ms_posts AS p INNER JOIN ms_term_relationships AS tr ON p.ID = tr.object_id INNER J || 1099 | monseng | localhost | monseng | Query | 6 | Sending data | SELECT p.* FROM ms_posts AS p INNER JOIN ms_term_relationships AS tr ON p.ID = tr.object_id INNER J || 1100 | monseng | localhost | monseng | Query | 1 | Sending data | SELECT SQL_CALC_FOUND_ROWS ms_posts.ID FROM ms_posts LEFT JOIN ms_term_relationships ON (ms_posts. || 1104 | monseng | localhost | monseng | Sleep | 1 | | NULL || 1105 | monseng | localhost | monseng | Sleep | 1 | | NULL || 1107 | monseng | localhost | monseng | Sleep | 0 | | NULL || 1108 | monseng | localhost | monseng | Sleep | 0 | | NULL || 1109 | monseng | localhost | monseng | Sleep | 3 | | NULL || 1110 | monseng | localhost | monseng | Sleep | 1 | | NULL | —— —— —— —— 66 rows in set (0.03 sec)
mysql>
里面好象沒有SQL執行查詢,都是Sending data。請問下這種情況表示什么意思?
答:您好,從上面的記錄看,主要是monseng 數據庫占用咨詢過高,Sending data狀態是數據正在收集和發送,執行時間較長的具體執行的sql語句是:SELECT p.* FROM ms_posts AS p INNER JOIN ms_term_relationships AS tr ON p.ID = tr.object_id INNER**,您需要分析下這個數據庫對應的網站日志,看看此時是否有異常訪問,另外要排查下這個sql語句的運行時間并創建適當的索引,建議找專業的網站開發人員協助查看下,非常感謝您長期對我司的支持!
問:您好,剛才從主題中找到這一句相關文章查詢代碼,是不是問題所在?原代碼如下,是網上抄來的,請幫看一下這個代碼哪里有問題,是否沒有停止?//獲取當前文章的前幾篇以及后幾篇文章function monseng_get_post( $previous = true, $number = 1 ) { //global當前文章變量 $post 和數據庫操作類wpdb global $post, $wpdb; if ( empty( $post ) ) return null; $current_post_date = $post->post_date;//當前文章的時間 $join = ''; $posts_in_ex_cats_sql = ''; //加入表 $join = " INNER JOIN $wpdb->term_relationships AS tr ON p.ID = tr.object_id INNER JOIN $wpdb->term_taxonomy tt ON tr.term_taxonomy_id = tt.term_taxonomy_id"; //獲取當前文章所屬分類,可以同屬多個分類,如果是自定義的分類法,將category換成對應的分類法即可 $cat_array = wp_get_object_terms($post->ID, 'category', array('fields' => 'ids')); $join .= " AND tt.taxonomy = 'category' AND tt.term_id IN (" . implode(',', $cat_array) . ")"; //判斷時間是大于還是小于 $op = $previous ? '<' : '>'; //排序 $order = $previous ? 'DESC' : 'ASC'; $where = $wpdb->prepare("WHERE p.post_date $op %s AND p.post_type = %s AND p.post_status = 'publish' ", $current_post_date, $post->post_type); $sort = "ORDER BY p.post_date $order LIMIT 0, $number"; $query = "SELECT p.* FROM $wpdb->posts AS p $join $where $sort"; $query_key = 'adjacent_post_' . md5($query); $result = wp_cache_get($query_key, 'counts'); if ( false !== $result ) return $result; $result = $wpdb->get_results("SELECT p.* FROM $wpdb->posts AS p $join $where $sort"); if ( null === $result ) $result = ''; wp_cache_set($query_key, $result, 'counts'); return $result; }
答:您好,看程序和上面的數據庫查詢無關,我司非程序專業開發人員,建議聯系專業程序開發人員分析檢查優化下程序,比如可創建適當的索引提升查詢效率等,非常感謝您長期對我司的支持.由此給您帶來的不便之處,敬請原諒!謝謝!
問:現在又自動恢復正常了,不知道是什么原因
答:您好,感謝您的反饋,請您后期多觀察下,非常感謝您長期對我司的支持.由此給您帶來的不便之處,敬請原諒!謝謝!