問(wèn):您好!近來(lái)觀察到本站每天發(fā)生一次網(wǎng)站運(yùn)行中規(guī)律性堵塞,SQL占用很高達(dá)150%以上。
,網(wǎng)站規(guī)律性運(yùn)行堵塞,SQL占用很高
答:您好,這個(gè)是mysql數(shù)據(jù)庫(kù),占用CPU較高,說(shuō)明當(dāng)時(shí)使用較大,如果您想進(jìn)一步分析,可以通過(guò)密碼登入數(shù)據(jù)庫(kù),然后執(zhí)行show processlist;命令,查看當(dāng)時(shí)正在執(zhí)行的sql語(yǔ)句,另外再接合當(dāng)時(shí)的網(wǎng)站訪問(wèn)日志,看看是否有異常訪問(wèn),非常感謝您長(zhǎng)期對(duì)我司的支持!
問(wèn):請(qǐng)問(wèn)下登入數(shù)據(jù)庫(kù)是用什么命令?謝謝
答:您好,登錄數(shù)據(jù)庫(kù)的命令是:
mysql -u -p密碼 回車
然后再輸入show processlist;
可以顯示出當(dāng)前正在執(zhí)行的sql語(yǔ)句,建議在CPU占用比較高的時(shí)候查詢,非常感謝您長(zhǎng)期對(duì)我司的支持!
問(wèn):好的,謝謝!根據(jù)命令查詢?nèi)缦?;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>
里面好象沒(méi)有SQL執(zhí)行查詢,都是Sending data。請(qǐng)問(wèn)下這種情況表示什么意思?
答:您好,從上面的記錄看,主要是monseng 數(shù)據(jù)庫(kù)占用咨詢過(guò)高,Sending data狀態(tài)是數(shù)據(jù)正在收集和發(fā)送,執(zhí)行時(shí)間較長(zhǎng)的具體執(zhí)行的sql語(yǔ)句是:SELECT p.* FROM ms_posts AS p INNER JOIN ms_term_relationships AS tr ON p.ID = tr.object_id INNER**,您需要分析下這個(gè)數(shù)據(jù)庫(kù)對(duì)應(yīng)的網(wǎng)站日志,看看此時(shí)是否有異常訪問(wèn),另外要排查下這個(gè)sql語(yǔ)句的運(yùn)行時(shí)間并創(chuàng)建適當(dāng)?shù)乃饕ㄗh找專業(yè)的網(wǎng)站開(kāi)發(fā)人員協(xié)助查看下,非常感謝您長(zhǎng)期對(duì)我司的支持!
問(wèn):您好,剛才從主題中找到這一句相關(guān)文章查詢代碼,是不是問(wèn)題所在?原代碼如下,是網(wǎng)上抄來(lái)的,請(qǐng)幫看一下這個(gè)代碼哪里有問(wèn)題,是否沒(méi)有停止?//獲取當(dāng)前文章的前幾篇以及后幾篇文章function monseng_get_post( $previous = true, $number = 1 ) { //global當(dāng)前文章變量 $post 和數(shù)據(jù)庫(kù)操作類wpdb global $post, $wpdb; if ( empty( $post ) ) return null; $current_post_date = $post->post_date;//當(dāng)前文章的時(shí)間 $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"; //獲取當(dāng)前文章所屬分類,可以同屬多個(gè)分類,如果是自定義的分類法,將category換成對(duì)應(yīng)的分類法即可 $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) . ")"; //判斷時(shí)間是大于還是小于 $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; }
答:您好,看程序和上面的數(shù)據(jù)庫(kù)查詢無(wú)關(guān),我司非程序?qū)I(yè)開(kāi)發(fā)人員,建議聯(lián)系專業(yè)程序開(kāi)發(fā)人員分析檢查優(yōu)化下程序,比如可創(chuàng)建適當(dāng)?shù)乃饕嵘樵冃实?非常感謝您長(zhǎng)期對(duì)我司的支持.由此給您帶來(lái)的不便之處,敬請(qǐng)?jiān)?謝謝!
問(wèn):現(xiàn)在又自動(dòng)恢復(fù)正常了,不知道是什么原因
答:您好,感謝您的反饋,請(qǐng)您后期多觀察下,非常感謝您長(zhǎng)期對(duì)我司的支持.由此給您帶來(lái)的不便之處,敬請(qǐng)?jiān)?謝謝!