问:您好!近来观察到本站每天发生一次网站运行中规律性堵塞,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; }
答:您好,看程序和上面的数据库查询无关,我司非程序专业开发人员,建议联系专业程序开发人员分析检查优化下程序,比如可创建适当的索引提升查询效率等,非常感谢您长期对我司的支持.由此给您带来的不便之处,敬请原谅!谢谢!
问:现在又自动恢复正常了,不知道是什么原因
答:您好,感谢您的反馈,请您后期多观察下,非常感谢您长期对我司的支持.由此给您带来的不便之处,敬请原谅!谢谢!