精华内容
下载资源
问答
  • 压测时,经常会出现mysql数据库CPU使用率过高,下面介绍一下简单问题定位方法;1、确定是否有慢sql语句;1)登录数据库服务器,连接数据库;执行命令:mysql -uroot -p 密码2)查看慢sql日志是否开启,执行命令:...

    压测时,经常会出现mysql数据库CPU使用率过高,下面介绍一下简单的问题定位方法;

    1、确定是否有慢sql语句;

    1)登录数据库服务器,连接数据库;执行命令:mysql -uroot -p 密码

    2)查看慢sql日志是否开启,执行命令:show variables like '%slow%'

    89d0d299caa9f24b44758cf85ccc03b9.png

    slow_lauch_time,慢sql的执行时间配置,大于该值为慢sql,记录到日志中,根据业务需求配置;

    slow_query_log,慢sql日志开关,ON为开启,OFF为关闭;

    slow_query_log_file,慢sql日志文件路径,可通过日志查看慢sql语句及执行时间;

    3)查看慢sql语句,并查看sql语句的执行计划,看是否缺少索引,是否可以进行优化;

    2、查看耗cpu较多的sql语句,查看sql执行计划,是否缺少索引;

    如果交易执行过程中没有慢sql语句,可登陆服务器,连接数据库,查看耗cpu较多的sql语句,查看sql执行计划,是否可以进行优化;

    1)登录服务器,连接数据库,执行命令:mysql -uroot -p 密码

    2)查看耗cpu较多的sql语句,执行命令:show processlist

    展开全文
  • 登录RDS数据库第一步先看MYSQL的性能状况,分析是设置问题还是SQL效率问题使用实例信息/实时性能发现read数据比较高,同时发现数据库CPU占用较高再通过实时回话观察使用频繁SQL,并且较慢SQL在诊断报告中也可以找...

    登录RDS数据库

    第一步先看MYSQL的性能状况,分析是设置问题还是SQL效率问题

    使用实例信息/实时性能

    96283985db56572ed52b7bb1d7504eaa.png

    发现read数据比较高,同时发现数据库CPU占用较高

    再通过实时回话观察使用频繁的SQL,并且较慢的SQL

    2cce0b62498981916d678c09eaea4c94.png

    在诊断报告中也可以找出慢SQL,优先解决执行次数多的慢SQL,有些报表只执行了1-2次可以不用关注。

    将慢SQL在SQL执行窗口中执行,并查看执行计划

    68310dbd4b45b1c12721a09664595c90.png

    对于这种TYPE=ALL全表扫描的返回rows很多的就需要进行优化

    这次优化主要发现两个地方:

    1. MySQL中datediff函数不会触发日期字段的索引,and datediff(stock.stockDate,:sDate) = 0 需要改成 stock.stockDate >= :sDate and stock.stockDate

    2. MySQL中in (select id from table where table.id = ?) 这种也可能不会触发索引,例如:

    AND labels.LEG_ID IN (SELECT leg.id FROM tms_leg leg WHERE leg.shipment_id = (SELECT tl.shipment_id FROM tms_leg tl WHERE tl.id = ?))

    改成

    select * from labels, (SELECT leg.id FROM tms_leg leg WHERE leg.shipment_id = (SELECT tl.shipment_id FROM tms_leg tl WHERE tl.id = ?)) tt where labels.LEG_ID=tt.id

    或者

    select * from labels, tms_leg t1,tms_leg t2 where  t1.shipment_id = t2.shipment_id and t1.id = labels.leg_id and t2.id = ?

    展开全文
  • 一、使用dstat -tcdlmnsygr --disk-util查看当前系统资源使用状况,当前cpu使用率100%二、使用TOP命令 查看当前占用CPU进程,可以看到当前占用CPU进程最高MYSQL load average出现负载三、开启慢SQL配置1、...

    一、使用 dstat -tcdlmnsygr --disk-util 查看当前系统资源使用状况,当前cpu使用率100%

    9f0da5ee6f4fd1b5357e1adb099d407a.png

    二、使用TOP命令 查看当前占用CPU进程,可以看到当前占用CPU进程最高的是MYSQL load average出现负载

    7eb811f8af9c7eb3f47a3303e86163bb.png

    三、开启慢SQL的配置

    1、LIUNX 系统在mysql配置文件my.cnf中增加

    slow_query_log    布尔型变量,默认为真。没有这变量,数据库不会打印慢查询的日志。

    slow_query_log_file=/usr/local/mysql/data/zhoucentos-slow.log     指定日志文件存放位置

    long_query_time=0.1   记录超过的时间,默认为10s   该值设为0.1即100毫秒

    2、 配置完成,连接数据库检查慢查询日志是否开启:命令如下:mysql> show variables like '%slow_query_log%';

    cd7e2188984bf61a3b9e59dae44f5d26.png

    四、 慢查询日志分析

    1、命令mysqldumpslow 若执行 mysqldumpslow 出现mysqldump: command not found

    输入vi ~/.bash_profile

    添加如下三行代码:

    #mysql

    PATH=$PATH:/usr/local/mysql/bin

    export

    保存并退出后

    source ~/.bash_profile

    2、mysqldumpslow -s r -t 20 host-slow.log  命令分别可以看出访问次数最多的20个sql语句和返回记录集最多的20个sql。

    6d75f12b0e6af119787edcb20b45b451.png

    3、mysqldumpslow –s at -t 50 host-slow.log   显示出耗时最长的50个SQL语句的执行信息

    7816f737d69448e2d3db63e248bb67d4.png

    以Count: 32  Time=0.26s (8s)  Lock=0.00s (0s)  Rows=10.0 (320), wos_20120719[wos_20120719]@2host 为例:

    Count: 32  该SQL总共执行32次

    Time = 0.26s (8s)  平均每次执行该SQL耗时0.26秒,总共耗时32(次)*0.26(秒)=8秒。

    Lock=0.00s(0s)   lock时间0秒

    Rows =10.0(320)  每次执行SQL影响数据库表中的10行记录,总共影响10(行)*32(次)=320行记录

    4、执行计划

    在sql语句前加上explain,可以分析这条sql语句的执行情况

    explain select * from teacher where

    6b278c4828fd9906fa280050213caf58.png

    Type列可能的值:

    Const:表中只有一个匹配行,用到primary key或unique key

    Eq_ref:唯一性索引扫描,key的所有部分被连接联接查询使用,且key是unique或primary key

    ref:非唯一性索引扫描,或只使用了联合索引的最左前缀

    Range:索引范围扫描,在索引列上进行给定范围内的检索,如between,in(1,100)

    Index:遍历索引...

    All:全表扫描

    Prossible key:使用哪个索引能找到行

    Keys:sql语句使用的索引

    rows:mysql 根据索引选择情况,估算查找数据所需读取的行数

    5、添加索引

    ffdad7a05c3c26e44255d04e3d5d27b2.png

    a08fef4cb0f7bce9f0f486c7ea6e8c94.png

    添加索引后,查看CPU占用进程,可以看到mysql已经大大降低

    cacc52edfc2b00ac8f081b032bb59327.png

    展开全文
  • 1、查看数据库进程,找出当前时刻执行较慢sql,并优化,如加索引等 SELECT * FROM information_schema.processlist a WHERE a.COMMAND != ‘Sleep’ ORDER BY a.TIME DESC; 此方法能较快解决数据库CPU报警 2、找...

    业务背景:
    生产环境,数据库突然CPU太高报警
    解决方案:
    1、查看数据库进程,找出当前时刻执行较慢的sql,并优化,如加索引等
    SELECT * FROM information_schema.processlist a WHERE a.COMMAND != ‘Sleep’ ORDER BY a.TIME DESC;
    此方法能较快解决数据库CPU报警
    2、找DBA查出慢sql文件,此文件不是实时的,可能是一天的,或者一周的,会显示有调用次数,可按调用频率或者执行时长来划分优化的优先级
    3、从业务上做分析,比如把一些实时性要求不太高的,做成定时任务,或者引用消息中间件等
    示例:
    业务背景:
    系统的待办是用户登录之后实时计算的,待办类型多,每个类型的待办查起来也很慢,再加上用户很多,导致待办会占用很大部分的数据库资源
    解决方案:
    引用了消息中间件MQ,把所有的待办放到一张表里,每次用户登录只需要访问这一张表,就可以查出所有的待办。

    展开全文
  • 概述最近接到IDC监控告警说某台服务器cpu过高,下面...1.1、查看具体cpu ps -mp 2289 -o THREAD,tid,time1.2、找到耗时最高线程TID,并将其线程ID转换为16进制格式:printf "%x" tid1.3、打印线程堆栈信息,thre...
  • 怎么查看mysql数据库的当前状态?

    千次阅读 2019-05-24 18:48:04
    1查看mysql所在服务器性能 主要是看当前机器cpu的使用,磁盘使用,io等状态。这个需要使用linux一些指令,如top,iostat,不了解这两个指令可以借鉴...
  • mysql 数据库 cpu 很高问题处理

    千次阅读 2018-05-18 14:15:51
    参考:https://blog.csdn.net/bolg_hero/article/details/70576516cpu消耗过大有慢sql造成,慢...mysql>show processlist;查看所有连接现象sql执行状态为:sending data,copying to tmp table,copying to tmp ...
  • 故障:晚上大概7点钟左右,收到播放中心投诉,说视频播放很慢,加载很久不出来。一开始,哥以为是tomcat服务又挂了。所以到tomcat服务器上...果断上mysql数据库(从库)看下top如下:PIDUSERPRNIVIRTRESSHRS%CPU%MEM...
  • 登录aws查看监控如下图问题分析出现这种cpu 100%问题,都是因为sql性能问题导致,主要表现于 cpu 消耗过大,有慢sql造成、慢sql全表扫描,扫描数据库过大,内存排序,队列等等并发现写入相对于查询来说比较高(这...
  • 在执行一些sql语句的时候,有时候可能会使mysql的cpu占用爆涨,出现其它的应用无法使用的情况,这时候就要去停止正在执行的语句,如何不执行mysql restart的情况下,只把占用cpu多的语句kill掉呢,使用如下的方法就...
  • 今早上班按照惯例查看一下服务器运行状况,top之后看到mysqld占用CPU100%而且居高不下,打开后台管理界面发现部分接口出现访问500情况,处理步骤如下: 1、登录mysql,使用show full processlist命令查看正在...
  • 观察办法是:使用phpmyadmin 进行观察,在phpmyadmin “进程”中查看在线的数据库,点击Kill 删除可疑的进程,如果删除了出错数据库mysqld-nt.exe所占的CPU会马上下降。发现数据库后可以进行修复,或者禁止该用户...
  • 上周工程人员反馈现场系统无法登录,检查服务器资源发现,CPU占用已经达到了100%,处理器已经没有空闲去处理其他请求了,导致系统无法登陆,估计是数据库查询不了,TOP查看发现是MySQL服务达到了80% java达到了20% ...
  • mysql数据库cpu占用特别高

    千次阅读 2016-10-21 14:44:20
    (1)多实例服务器,先top查看是那一个进程占用CPU多; (2)show processeslist 查看线程是否有锁住; (3)查看慢查询,找出执行时间长sql;explain分析sql是否走索引,sql优化; (4)再查看是否缓存失效...
  • 答:首先使用top命令查看是否是mysql服务占用导致,如果不是,那就直接杀死,如果是,进入数据库查看是否有高资源进程,找出消耗高,再查看原因(执行计划是否准确,index是否缺失,是否是数据量太大)来进行...
  • 主要方法:show status , show profile ,检查慢查询日志# 检测执行sql,具体那个位置比较慢SELECT * FROM phone_sts#数据库版本SELECT VERSION();#查询sql对资源占用情况SHOW profiles ;#查询当前sql执行过程中...
  • 故障: 晚上大概7点钟左右,收到播放中心投诉,说视频播放很慢,加载很久不出来。一开始,哥以为是tomcat服务又挂了。所以到tomcat服务器上查看下catalina....果断上mysql数据库(从库)看下top如下:PIDUSERPRNIVIRT...
  • 1、基本环境服务器:64位、16核CPU、384G内存、16T硬盘操作系统:CentOS 7.4MySQL版本:mysql-5.7.202、查看Linux是否已安装MySQLMySQL守护进程是mysqld.service,可以查看mysqld服务是否已经启动。如果已经安装则...
  • 登录RDS数据库第一步先看MYSQL的性能状况,分析是设置问题还是SQL效率问题使用实例信息/实时性能 发现read数据比较高,同时发现数据库CPU占用较高再通过实时回话观察使用频繁SQL,并且较慢SQL 在诊断报告中也可以...
  • 登录RDS数据库第一步先看MYSQL的性能状况,分析是设置问题还是SQL效率问题使用实例信息/实时性能发现read数据比较高,同时发现数据库CPU占用较高再通过实时回话观察使用频繁SQL,并且较慢SQL在诊断报告中也可以找...
  • MySQL数据库是常见两个瓶颈是CPU和I/O瓶颈,CPU在饱和时候一般发生在数据装入内存或从磁盘上读取数据时候。磁盘I/O瓶颈发生在装入数据远大于内存容量时候。如果应用分布在网络上,那么查询量相当大时候...
  • 执行以下命令,查看当前执行操作,定位效率低查询。show full processlist*************************** 1. row ***************************Id: 16193User: rdsAdminHost: localhostdb: NULLCommand: QueryTime: 0...
  • 背景: 公司有一个通讯系统,主要是通讯数据到客户端程序所指定的数据库,目前支持sqlserver、mysql和oracle三种类型的数据库,此篇主要记录一次oracle数据库占用CPU飙高问题。 症状: oracle支持上线后,数家...
  • (1)多实例服务器,先top查看是那一个进程占用CPU多 (2)show processeslist 查看线程是否有锁住 (3)查看慢查询,找出执行时间长sql,explain分析sql是否走索引,sql优化 (4)再查看是否缓存失效引起 ...
  • 今天上午核心数据库由于出现大量latch free,致使cpu...今天上午接到一线工作人员报告,说某节点1 CPU资源耗尽,我立刻登陆数据库,topas查看oracle进程,7个进程均占cpu资源12%,一下就占满了cpu(94%),该节点...
  • 第一步先看MYSQL的性能状况,分析是设置问题还是SQL效率问题 使用实例信息/实时性能 发现read数据比较高,同时发现数据库CPU占用较高 再通过实时回话观察使用频繁SQL,并且较慢SQL 在诊断报告中也可以找...
  • CPUQuota=value该参数表示服务可以获取的最大 CPU 时间,value 为百分数形式,高于 100% 表示可使用1 核以上的CPU。与 cgroup cpu 控制器cpu.cfs_quota_us配置项对应。MemoryLimit=value该参数表示服务可以使用的...
  • 前言最近在折腾性能测试,在...数据库用的是mysql,需要安装MysqlReport来查看数据库的各项数据,于是在自己的阿里云测试环境进行安装和测试。安装步骤1.下载打开官方下载地址:https://dev.mysql.com/downloads/my...
  • MYSQL采用的是线程模式,单进程,多线程,对此,大家在运行数据库的时候可以查看任务管理器,SQL Server也是如此。 众所周知,多进程,进程模式,利用CPU时间片轮转,可以利用更充分CPU,因此光拿多核单台机器...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 511
精华内容 204
关键字:

数据库的cpu查看mysql

mysql 订阅