mysqlreport显示Com_中change_db占用比例高的问题的解决方法

WBOY
发布: 2016-06-07 18:01:05
原创
968 人浏览过

最近公司的mysql服务器经常出现阻塞状态。动不动就重启,给用户访问带来了相当的不便。

首先说明一点,每天的访问量并不大每天才2W的访问量,按道理说,访问量再增加一倍这样的服务器也应该足以承受。可是我们的服务器为什么总是这样频频重启呢?经过mysqlreport显示mysql运行的状态如下:
<pre class="brush:php;toolbar:false"><pre class="brush:php;toolbar:false"><pre class="brush:php;toolbar:false"><pre class="brush:php;toolbar:false"><pre class="brush:php;toolbar:false"><pre class="brush:php;toolbar:false"><pre class="brush:php;toolbar:false"><pre class="brush:php;toolbar:false"><pre class="brush:php;toolbar:false"><pre class="brush:php;toolbar:false"><pre class="brush:php;toolbar:false"><pre class="brush:php;toolbar:false"><pre class="brush:php;toolbar:false"><font color="#006bad">MySQL 5.1.28-rc-log   uptime 0 0:4:48    Thu Apr 30 14:04:58 2009<br><br>__ Key _________________________________________________________________<br>Buffer used   7.74M of 384.00M %Used:  2.02<br> Current   52.89M      %Usage: 13.77<br>Write hit    0.00%<br>Read hit    91.97%<br><br>__ Questions ___________________________________________________________<br>Total     14.46k  50.2/s<br> DMS      9.24k  32.1/s %Total: 63.90<br> QC Hits    3.66k  12.7/s      25.33<br> Com_     1.04k   3.6/s      7.19<br> COM_QUIT    517   1.8/s      3.58<br> -Unknown     1   0.0/s      0.01<br>Slow 1 s      4   0.0/s      0.03 %DMS:  0.04 Log: OFF<br>DMS       9.24k  32.1/s      63.90<br> SELECT    9.21k  32.0/s      63.75     99.75<br> UPDATE      23   0.1/s      0.16     0.25<br> REPLACE      0    0/s      0.00     0.00<br> DELETE      0    0/s      0.00     0.00<br> INSERT      0    0/s      0.00     0.00<br>Com_      1.04k   50/s      44.4<br> set_option   523   1.8/s      3.62<br> change_db    510   50/s      44.4<br> show_proces    5   0.0/s      0.03<br><br>__ SELECT and Sort _____________________________________________________<br>Scan        49   0.2/s %SELECT:  0.53<br>Range       16   0.1/s      0.17<br>Full join      2   0.0/s      0.02<br>Range check     0    0/s      0.00<br>Full rng join    0    0/s      0.00<br>Sort scan     55   0.2/s<br>Sort range    475   1.6/s<br>Sort mrg pass    0    0/s<br><br>__ Query Cache _________________________________________________________<br>Memory usage  12.02M of 150.00M %Used:  8.01<br>Block Fragmnt  0.01%<br>Hits      3.66k  12.7/s<br>Inserts     9.14k  31.8/s<br>Insrt:Prune  9.14k:1  31.8/s<br>Hit:Insert   0.40:1<br><br>__ Table Locks _________________________________________________________<br>Waited       0    0/s %Total:  0.00<br>Immediate   10.49k  36.4/s<br><br>__ Tables ______________________________________________________________<br>Open        58 of 512  %Cache: 11.33<br>Opened       64   0.2/s<br><br>__ Connections _________________________________________________________<br>Max used      4 of 2000   %Max:  0.20<br>Total       519   1.8/s<br><br>__ Created Temp ________________________________________________________<br>Disk table     1   0.0/s<br>Table       184   0.6/s  Size: 256.0M<br>File        5   0.0/s<br><br>__ Threads _____________________________________________________________<br>Running       2 of  2<br>Cached       2 of 150   %Hit: 99.23<br>Created       4   0.0/s<br>Slow        0    0/s<br><br>__ Aborted _____________________________________________________________<br>Clients       0    0/s<br>Connects      0    0/s<br><br>__ Bytes _______________________________________________________________<br>Sent      20.36M  70.7k/s<br>Received    1.37M  4.7k/s<br><br>__ InnoDB Buffer Pool __________________________________________________<br>Usage     304.00k of  8.00M %Used:  3.71<br>Read hit    84.42%<br>Pages<br> Free      493      %Total: 96.29<br> Data       19           3.71 %Drty:  0.00<br> Misc       0           0.00<br> Latched                 0.00<br>Reads       77   0.3/s<br> From file    12   0.0/s      15.58<br> Ahead Rnd     1   0.0/s<br> Ahead Sql     0    0/s<br>Writes       0    0/s<br>Flushes       0    0/s<br>Wait Free      0    0/s<br><br>__ InnoDB Lock _________________________________________________________<br>Waits        0    0/s<br>Current       0<br>Time acquiring<br> Total       0 ms<br> Average      0 ms<br> Max        0 ms<br><br>__ InnoDB Data, Pages, Rows ____________________________________________<br>Data<br> Reads      25   0.1/s<br> Writes      3   0.0/s<br> fsync       3   0.0/s<br> Pending<br>  Reads      0<br>  Writes     0<br>  fsync      0<br><br>Pages<br> Created      0    0/s<br> Read       19   0.1/s<br> Written      0    0/s<br><br>Rows<br> Deleted      0    0/s<br> Inserted     0    0/s<br> Read       0    0/s<br> Updated      0    0/s<br>大家可以看到在Com_中占的比例是相当大的,而一般情况下,这个值应该是3.0%左右。如果这个值过高的话,就说明,你的mysql处理请求中<br>做了一些无谓的工作,占用了大量的系统资源。其中我们看到尤为change_db的占用率比较高。这个值高了,说明我们执行的user database;命令相当多。<br>检查程序,原来我们在执行查询语句的时候应用了mysql_query_db("database","sql");这个语句在每次执行的时候都会自动调用use database;<br>所以我们应该将mysql_db_query 更改成mysql_query();再观察mysql的运行状态,ok。一切正常了。</font>
登录后复制
相关标签:
来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板