大鹏一日同风起

linux
linux

MYSQL 实例CPU超过100%的分析

关于云数据库实例cpu 超过100%,通常这种情况都是由于sql 性能问题导致的,下面我用一则案例来分析: 用户实例xxx反馈cpu 超过100%,实例偶尔出现卡住的现象 1.原理:cpu 消耗过大通常情况下都是有慢sql 造成的,这里的慢sql 包括全表扫描,扫描数据量过大,内存排序,磁盘排序,锁争用等待等; 2.表现现象:sql 执行状态为:sending data,Copying to tmp table,Copying to tmp table on disk,Sorting result,locked; …

2017年9月8日 0条评论 2点热度 0人点赞 pbdatacn 阅读全文
linux

MySQL实际内存分配情况介绍

内存是重要的性能参数,常常出现由于异常的sql请求以及待优化的数据库导致内存利用率升高,更有甚者由于OOM导致实例发生HA切换。 MySQL的内存大体可以分为两部分:共享内存和session私有内存,下面详细介绍下各部分的构成。 1. 共享内存 以下为240M内存规格RDS实例的共享内存分配示意: mysql>show variables where variable_name in ( 'innodb_buffer_pool_size','innodb_log_buffer_size','innodb_ad…

2017年9月8日 0条评论 2点热度 0人点赞 pbdatacn 阅读全文
linux

MySQL 慢日志 介绍

什么是慢日志? MySQL的慢查询日志是MySQL提供的一种日志记录,它用来记录在MySQL中响应时间超过阀值的语句,具体指运行时间超过long_query_time值的SQL,则会被记录到慢查询日志中。long_query_time的默认值为10,意思是运行10S以上的语句。默认情况下,MySQL数据库并不启动慢查询日志,需要我们手动来设置这个参数,当然,如果不是调优需要的话,一般不建议启动该参数,因为开启慢查询日志会或多或少带来一定的性能影响。慢查询日志支持将日志记录写入文件,也支持将日志记录写入数据库表。 参…

2017年9月8日 0条评论 3点热度 0人点赞 pbdatacn 阅读全文
linux

MySQL 开发实践

1.MySQL读写性能是多少,有哪些性能相关的重要参数? 这里做了几个简单压测实验 机器:8核CPU,8G内存 表结构(尽量模拟业务):12个字段(1个bigint(20)为自增primary key,5个int(11),5个varchar(512),1个timestamp),InnoDB存储引擎。 实验1(写):insert => 6000/s 前提:连接数100,每次insert单条记录 分析:CPU跑了50%,这时磁盘为顺序写,故性能较高 实验2(写):update(where条件命中索引) =>…

2017年9月8日 0条评论 2点热度 0人点赞 pbdatacn 阅读全文
linux

MySQL 长时间运行查询

1. 出现长时间执行的查询的原因 2. 长时间执行的查询带来的问题 3. 如何避免长时间执行的查询 4. 如何处理长时间执行的查询 4.1 DMS 处理会话 4.2 设置查询最长执行时间 4.3 创建事件自动清理长时间执行的查询 1. 出现长时间执行的查询的原因 在使用 MySQL 的过程中,由于某些原因,比如被 SQL 注入、SQL执行效率较差、DDL 语句引起表元数据锁等待等等,会出现运行时间很长的查询。 由于被SQL注入而导致的长时间查询: 由于DDL语句引起表元数据锁等待:   2. 长时间执行的…

2017年9月8日 0条评论 3点热度 0人点赞 pbdatacn 阅读全文
linux

MySQL查询缓存 (Query Cache) 的设置和使用

1. 功能和适用范围 功能: 降低 CPU 使用率 降低 IOPS 使用率(某些情况下) 减少查询响应时间,提高系统的吞吐量 适用范围: 表数据修改不频繁、数据较静态 查询(Select)重复度高 查询结果集小于 1 MB 注: 查询缓存并不一定带来性能上的提升,在某些情况下(比如查询数量大,但重复的查询很少)开启查询缓存会带来性能的下降。 2. 原理 MySQL 对来自客户端的查询(Select)进行 Hash 计算得到该查询的Hash值,通过该Hash 值到查询缓存中匹配该查询的结果。 如果匹配(命中),则将查…

2017年9月7日 0条评论 4点热度 0人点赞 pbdatacn 阅读全文
linux

MySQL 表上 Metadata lock 的产生和处理

1. Metadata lock wait 出现的场景 2. Metadata lock wait 的含义 3. 导致 Metadata lock wait 等待的活动事务 4. 解决方案 5. 如何避免出现长时间 Metadata lock wait 导致表上相关查询阻塞,影响业务 1. Metadata lock wait 出现的场景 创建、删除索引 修改表结构 表维护操作(optimize table、repair table 等) 删除表 获取表上表级写锁 (lock table tab_name writ…

2017年9月7日 0条评论 2点热度 0人点赞 pbdatacn 阅读全文
linux

MySQL InnoDB 锁等待和锁等待超时的处理

1. Innodb 引擎表行锁等待和等待超时发生的场景 2.Innodb 引擎行锁等待情况的处理 2.1 Innodb 行锁等待超时参数 innodb_lock_wait_timeout 2.2 大量行锁等待和行锁等待超时的处理a 1. Innodb 引擎表行锁等待和等待超时发生的场景 当一个 RDS MySQL 连接会话等待另外一个会话持有的互斥行锁时,会发生 Innodb 引擎表行锁等待情况。 通常情况下,持有该互斥行锁的会话(连接)会迅速的执行完相关操作并释放掉持有的互斥锁(事务提交或者回滚),进而等待的会话…

2017年9月7日 0条评论 2点热度 0人点赞 pbdatacn 阅读全文
linux

MySQL InnoDB表级锁等待

1. 显式 lock table 2. 隐式 lock table 在 RDS MySQL 实例日常使用中,有些情况下会发现出现 Innodb 表级锁等待的情况,下面列出常见的2个原因。  1. 显式 lock table 执行了 lock tables tab_name read; 导致 DML 会话等待在表的表级锁上。 会话 1 lock tables tab_name read; 会话 2 会话 3   2. 隐式 lock table mysqldump 使用默认参数进行数据导出时,会默认的开启 …

2017年9月7日 0条评论 2点热度 0人点赞 pbdatacn 阅读全文
linux

MySQL 查询分析

一个低效查询引发的思考 上次在做银行对账,上传对账单后,出现对账超时的情况。查看日志发现,最后一条日志记录停在了对 c2c_zwdb.t_file_count 的查询 sql 上。使用 show processlist 命令来查看当前 SQL 的执行情况,如下: 由上图可知,原来是发生锁表了 waiting for table level lock。 引发锁表的 sql 语句就是上图中 status 为 updating 的语句为: update c2c_zwdb.t_file_count set Fcount=F…

2017年9月7日 0条评论 2点热度 0人点赞 pbdatacn 阅读全文
12345

近期文章

  • stable-diffusion-webui安装过程
  • 2022年python库大全
  • ICE Server与信令Server
  • linux 安装canvas报错
  • 从Yahoo财经下载历史数据

近期评论

您尚未收到任何评论。

COPYRIGHT © 2026 大鹏一日同风起. ALL RIGHTS RESERVED.

Theme Kratos Made By Seaton Jiang

京ICP备14029030号-1