今天图老师小编给大家展示的是mysqlreport显示Com_中change_db占用比例高的问题的解决方法,精心挑选的内容希望大家多多支持、多多分享,喜欢就赶紧get哦!
【 tulaoshi.com - 编程语言 】
首先说明一点,每天的访问量并不大每天才2W的访问量,按道理说,访问量再增加一倍这样的服务器也应该足以承受。可是我们的服务器为什么总是这样频频重启呢?经过mysqlreport显示mysql运行的状态如下:MySQL 5.1.28-rc-log uptime 0 0:4:48Thu Apr 30 14:04:58 2009
__ Key _________________________________________________________________
Buffer used 7.74M of 384.00M %Used: 2.02
Current 52.89M %Usage: 13.77
Write hit0.00%
Read hit91.97%
__ Questions ___________________________________________________________
Total 14.46k 50.2/s
DMS 9.24k 32.1/s %Total: 63.90
QC Hits3.66k 12.7/s 25.33
Com_ 1.04k 3.6/s 7.19
COM_QUIT517 1.8/s 3.58
-Unknown 1 0.0/s 0.01
Slow 1 s 4 0.0/s 0.03 %DMS: 0.04 Log: OFF
DMS 9.24k 32.1/s 63.90
SELECT9.21k 32.0/s 63.75 99.75
UPDATE 23 0.1/s 0.16 0.25
REPLACE 00/s 0.00 0.00
DELETE 00/s 0.00 0.00
INSERT 00/s 0.00 0.00
Com_ 1.04k 50/s 44.4
set_option 523 1.8/s 3.62
change_db510 50/s 44.4
show_proces5 0.0/s 0.03
__ SELECT and Sort _____________________________________________________
Scan49 0.2/s %SELECT: 0.53
Range 16 0.1/s 0.17
Full join 2 0.0/s 0.02
Range check 00/s 0.00
Full rng join00/s 0.00
Sort scan 55 0.2/s
Sort range475 1.6/s
Sort mrg pass00/s
__ Query Cache _________________________________________________________
Memory usage 12.02M of 150.00M %Used: 8.01
Block Fragmnt 0.01%
Hits 3.66k 12.7/s
Inserts 9.14k 31.8/s
Insrt:Prune 9.14k:1 31.8/s
Hit:Insert 0.40:1
__ Table Locks _________________________________________________________
Waited 00/s %Total: 0.00
Immediate 10.49k 36.4/s
__ Tables ______________________________________________________________
Open58 of 512 %Cache: 11.33
Opened 64 0.2/s
__ Connections _________________________________________________________
Max used 4 of 2000 %Max: 0.20
Total 519 1.8/s
__ Created Temp ________________________________________________________
Disk table 1 0.0/s
Table 184 0.6/s Size: 256.0M
File5 0.0/s
__ Threads _____________________________________________________________
Running 2 of 2
Cached 2 of 150 %Hit: 99.23
Created 4 0.0/s
Slow00/s
__ Aborted _____________________________________________________________
Clients 00/s
Connects 00/s
__ Bytes _______________________________________________________________
Sent 20.36M 70.7k/s
Received1.37M 4.7k/s
__ InnoDB Buffer Pool __________________________________________________
Usage 304.00k of 8.00M %Used: 3.71
Read hit84.42%
Pages
Free 493 %Total: 96.29
Data 19 3.71 %Drty: 0.00
Misc 0 0.00
Latched 0.00
Reads 77 0.3/s
From file12 0.0/s 15.58
Ahead Rnd 1 0.0/s
Ahead Sql 00/s
Writes 00/s
Flushes 00/s
Wait Free 00/s
__ InnoDB Lock _________________________________________________________
Waits00/s
Current 0
Time acquiring
Total 0 ms
Average 0 ms
Max0 ms
__ InnoDB Data, Pages, Rows ____________________________________________
Data
Reads 25 0.1/s
Writes 3 0.0/s
fsync 3 0.0/s
Pending
Reads 0
Writes 0
fsync 0
Pages
Created 00/s
Read 19 0.1/s
Written 00/s
Rows
Deleted 00/s
Inserted 00/s
Read 00/s
Updated 00/s
大家可以看到在Com_中占的比例是相当大的,而一般情况下,这个值应该是3.0%左右。如果这个值过高的话,就说明,你的mysql处理请求中
做了一些无谓的工作,占用了大量的系统资源。其中我们看到尤为change_db的占用率比较高。这个值高了,说明我们执行的user database;命令相当多。
检查程序,原来我们在执行查询语句的时候应用了mysql_query_db("database","sql");这个语句在每次执行的时候都会自动调用use database;
所以我们应该将mysql_db_query 更改成mysql_query();再观察mysql的运行状态,ok。一切正常了。
来源:http://www.tulaoshi.com/n/20160219/1593852.html
看过《mysqlreport显示Com_中change_db占用比例高的问题的解决方法》的人还看了以下文章 更多>>