mysqlreport显示对change_db占用比例高com_问题的解决
首先,有一点是,每天访问量不多,每天访问量仅为100万次,但为什么我们的服务器经常重启呢以下mysqlreport表明MySQL的状态如下:MySQL 5.1.28-rc-log运行时间0 0:4:48 4月30日星期四14:04:58 2009__关键_________________________________________________________________
缓冲区使用的7.74m 384.00m %:2.02
目前52.89m %的用法:13.77
写下0%
读打91.97%
__问题___________________________________________________________
总14.46k 50.2 /秒
DMS 9.24k 32.1 / s的总数:63.90
QC打3.66k 12.7 / 25.33
com_ 1.04k 3.6 / 7.19
com_quit 517 1.8 / 3.58
-未知的1 0 s 0.01
慢1 S 4 0 s 0.03% DMS:0.04日志:关闭
DMS 9.24k 32.1 / 63.90
选择9.21k 32 / 63.75 99.75
更新23 0.1/s 0.16 0.25
替换0 0 s 0 0
删除0的0/s 0 0
插入0 0 s 0 0
com_ 1.04k 50 / 44.4
set_option 523 1.8 / 3.62
change_db 510 50 / 44.4
show_proces 5 0 / 0.03
选择和排序_____________________________________________________ __
扫描49个0.2 % % s选择:0.53
范围16 0.1 s / s 0.17
完全连接2 0 s / s 0.02
范围检查0 0 s / s 0
0 / 0全RNG加入0
排序扫描55 0.2 s
排序范围475 1.6 s
这种通过0 / 0 MRG
查询缓存_________________________________________________________ __
内存使用12.02m 150.00m %的使用:8.01
0.01%块fragmnt
点击3.66k 12.7 /秒
插入9.14k 31.8 /秒
Insrt:修剪9.14k:31.8 / 1
命中:插入0.40:1
表锁_________________________________________________________ __
等待0个0 / s %总数:0
立即10.49k 36.4 /秒
__表______________________________________________________________
打开512%个缓存中的58个:11.33
打开64个0.2 s
__连接_________________________________________________________
MAX使用4的2000% max:0.20
总计519 1.8美元/秒
创建临时________________________________________________________ __
磁盘表1 0
表184 0.6 / s的大小:256.0m
文件5 0
__线程_____________________________________________________________
跑2的2
缓存命中率为150%的2:99.23
创建了4个0 s
慢0 0 s
__中止_____________________________________________________________
客户机0 0 s
连接0个0 s
__字节_______________________________________________________________
送20.36m 70.7k / S
收到1.37m 4.7k / S
InnoDB缓冲池__________________________________________________ __
8.00m %的使用:3.71使用304.00k
读打84.42%
页
免费493%个:96.29
数据193.71%:0 drty
杂项0
锁定0
读取77 0.3 s
从文件12 0 15.58
提前1 0的研发
前SQL 0 0
写0 0 s
刷新0 0 s
等待免费0 0美元/秒
InnoDB锁_________________________________________________________ __
等待0 0 s
目前的0
时间获取
总0毫秒
平均0毫秒
最大0毫秒
__ InnoDB数据页、行____________________________________________
数据
读取25 0.1 s
写3 0 s
0 / 3的fsync
悬而未决的
读0
写的是0
fsync 0
页
创建了0个0 s
读19 0.1
写0 0
排
删除0 0 s
插入0个0 s
读0 0
更新0 0秒/秒
你可以看到,com_比例相当大,在一般情况下,该值应该是3%左右,如果这个值太高了,这说明你的MySQL处理请求
很多无用的工作已经完成,而且占用大量的系统资源。我们看到,change_db入住率是非常高的。这个值越高,说明用户数据库,我们正在执行的命令是很多。
检查程序。原来,我们用mysql_query_db(数据库和SQL)在执行查询语句,并自动调用使用数据库在执行每一次。
所以我们应该改变mysql_db_query到mysql_query();再看看运行状态的MySQL,好的,没事的。