• 定制开发
  • APP定制开发
  • 智能软硬件应用
  • 戒赌难戒视角
  • 技术VC
  • 关于我们
  • 联系我们
  • 在线咨询

    戒赌难戒视角

    关注互联网,关注技术开发,透析与分享移动互联网行业最新动态
  • 全部动态|
  • 戒赌难戒快讯|
  • 行业新闻|
  • APP开发|
  • 原型UI交互|
  • 常见问题|
  • 解决方案|
  • 当前位置: 网站首页 > 解决方案 > MYSQL使服务器内存CPU占用过高问题的分析及解决方法

    MYSQL使服务器内存CPU占用过高问题的分析及解决方法

    时间:2019-02-17 13:37:50    阅读:385次 分类:解决方案
    最近的项目刚开始上线,以前没觉得什么,现在客户都反应系统反应太慢,需要解决,于是我在服务器查看了一下cpu占用情况,果然,mysql数据库就占了百分之九十六七,所以想到了必须要使cpu占用率降下来。 (1)show processl...

    最近的项目刚开始上线,以前没觉得什么,现在客户都反应系统反应太慢,需要解决,于是我在服务器查看了一下CPU占用情况,果然,mysql数据库就占了百分之九十六七,所以想到了必须要使CPU占用率降下来。
        (1)show processlist;  结果如下
    mysql> show processlist;
    +--------+-----------------+--------------------+------+---------+---------+-----------------------------+------------------+
    | Id     | User            | Host               | db   | Command | Time    | State                       | Info             |
    +--------+-----------------+--------------------+------+---------+---------+-----------------------------+------------------+
    |   4522 | event_scheduler | localhost          | NULL | Daemon  | 2315739 | Waiting for next activation | NULL             |
    | 258137 | CMAbutler       | 10.14.85.121:55035 | CMA  | Sleep   |    5337 |                             | NULL             |
    | 258138 | CMAbutler       | 10.14.85.121:55036 | NULL | Sleep   |    5360 |                             | NULL             |
    | 260446 | root            | localhost          | NULL | Query   |       0 | NULL                        | show processlist |
    | 264040 | root            | localhost          | CMA  | Sleep   |       0 |                             | NULL             |
    +--------+-----------------+--------------------+------+---------+---------+-----------------------------+------------------+
    5 rows in set (0.00 sec)


      先简单分析一下各列的含义和用途,第一列,id,一个标识,你要kill一个语句的时候很有用。user列,显示单前用户,如果不是root,这个命令就只显示你权限范围内的sql语句。host列,显示这个语句是从哪个ip的哪个端口上发出的。呵呵,可以用来追踪出问题语句的用户。db列,显示这个进程目前连接的是哪个数据库 。command列,显示当前连接的执行的命令,一般就是休眠(sleep),查询(query),连接(connect)。time列,此这个状态持续的时间,单位是秒。state列,显示使用当前连接的sql语句的状态,很重要的列,后续会有所有的状态的描述,请注意,state只是语句执行中的某一个状态,一个sql语句,已查询为例,可能需要经过copying to tmp table,Sorting result,Sending data等状态才可以完成,info列,显示这个sql语句,因为长度有限,所以长的sql语句就显示不全,但是一个判断问题语句的重要依据。
    常见问题 :
    一般是睡眠连接过多,严重消耗mysql服务器资源(主要是cpu, 内存),并可能导致mysql崩溃。


        (2)首先查看等待时间
         mysql> show global variables like 'wait_timeout';
    +---------------+-------+
    | Variable_name | Value |
    +---------------+-------+
    | wait_timeout  | 28800 |
    +---------------+-------+
    1 row in set (0.00 sec)
      (3)重设值
       mysql>  set global wait_timeout=200;


    芜湖戒赌难戒软件有限公司(原中江网络),成立于2005年,经过10多年定制开发经验,积累了大量技术储备和定制开发经验,率先创建安徽省内自主研发的云计算平台,具有大数据、高并发等高强度计算能力,为众多政府、学校、公安部门、中小企业解决数据计算与管理难题。2013年公司内部专门创建电商服务部,为企业提供全方位电商解决方案与配套服务。多次获得国家、省市级领导接见,被国内近20家电视台、报纸媒体争相报道。至今,戒赌难戒软件服务过上市公司、大型国企、各类私企超800家,为多家公司提供各类政务系统、app开发定制、微信小程序开发定制、智能家居、电商系统、连锁收银等技术解决方案服务。同时,戒赌难戒软件在智能硬件方面、区块链应用方面持续投入关注及创新。

    戒赌难戒软件gf-yun.com安徽软件开发,MYSQL,服务器,CPU
    戒赌难戒软件
    上一篇:mysql 主从集群
    最新资讯排行榜