广

MYSQL

  • MYSQL
  • MSSQL
  • Redis
  • MongoDB
  • oracle数据库
  • 数据管理

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

    2018-05-08 11:29:09 次阅读 稿源:互联网
    零七网广告
    全网推广平台,软文发布
    首先说明一点,每天的访问量并不大每天才2W的访问量,按道理说,访问量再增加一倍这样的服务器也应该足以承受。可是我们的服务器为什么总是这样频频重启呢?经过mysqlreport显示mysql运行的状态如下:
    MySQL 5.1.28-rc-log   uptime 0 0:4:48    Thu Apr 30 14:04:58 2009

    __ Key _________________________________________________________________
    Buffer used 7.74M of 384.00M %Used: 2.02
    Current 52.89M %Usage: 13.77
    Write hit 0.00%
    Read hit 91.97%

    __ Questions ___________________________________________________________
    Total 14.46k 50.2/s
    DMS 9.24k 32.1/s %Total: 63.90
    QC Hits 3.66k 12.7/s 25.33
    Com_ 1.04k 3.6/s 7.19
    COM_QUIT 517 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
    SELECT 9.21k 32.0/s 63.75 99.75
    UPDATE 23 0.1/s 0.16 0.25
    REPLACE 0 0/s 0.00 0.00
    DELETE 0 0/s 0.00 0.00
    INSERT 0 0/s 0.00 0.00
    Com_ 1.04k 50/s 44.4
    set_option 523 1.8/s 3.62
    change_db 510 50/s 44.4
    show_proces 5 0.0/s 0.03

    __ SELECT and Sort _____________________________________________________
    Scan 49 0.2/s %SELECT: 0.53
    Range 16 0.1/s 0.17
    Full join 2 0.0/s 0.02
    Range check 0 0/s 0.00
    Full rng join 0 0/s 0.00
    Sort scan 55 0.2/s
    Sort range 475 1.6/s
    Sort mrg pass 0 0/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 0 0/s %Total: 0.00
    Immediate 10.49k 36.4/s

    __ Tables ______________________________________________________________
    Open 58 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
    File 5 0.0/s

    __ Threads _____________________________________________________________
    Running 2 of 2
    Cached 2 of 150 %Hit: 99.23
    Created 4 0.0/s
    Slow 0 0/s

    __ Aborted _____________________________________________________________
    Clients 0 0/s
    Connects 0 0/s

    __ Bytes _______________________________________________________________
    Sent 20.36M 70.7k/s
    Received 1.37M 4.7k/s

    __ InnoDB Buffer Pool __________________________________________________
    Usage 304.00k of 8.00M %Used: 3.71
    Read hit 84.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 file 12 0.0/s 15.58
    Ahead Rnd 1 0.0/s
    Ahead Sql 0 0/s
    Writes 0 0/s
    Flushes 0 0/s
    Wait Free 0 0/s

    __ InnoDB Lock _________________________________________________________
    Waits 0 0/s
    Current 0
    Time acquiring
    Total 0 ms
    Average 0 ms
    Max 0 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 0 0/s
    Read 19 0.1/s
    Written 0 0/s

    Rows
    Deleted 0 0/s
    Inserted 0 0/s
    Read 0 0/s
    Updated 0 0/s
    大家可以看到在Com_中占的比例是相当大的,而一般情况下,这个值应该是3.0%左右。如果这个值过高的话,就说明,你的mysql处理请求中
    做了一些无谓的工作,占用了大量的系统资源。其中我们看到尤为change_db的占用率比较高。这个值高了,说明我们执行的user database;命令相当多。
    检查程序,原来我们在执行查询语句的时候应用了mysql_query_db("database","sql");这个语句在每次执行的时候都会自动调用use database;
    所以我们应该将mysql_db_query 更改成mysql_query();再观察mysql的运行状态,ok。一切正常了。

    零七网部分新闻及文章转载自互联网,供读者交流和学习,若有涉及作者版权等问题请及时与我们联系,以便更正、删除或按规定办理。感谢所有提供资讯的网站,欢迎各类媒体与零七网进行文章共享合作。

    零七网广告
    零七网广告
    零七网广告
    零七网广告