MySQL 性能优化-数据库死锁监控

时间:2022-12-11 22:24:42

MySQL性能优化-数据库死锁监控

by:授客 QQ1033553122

1)表锁定

通过检查 table_locks_waited 和 table_locks_immediate 状态变量来分析表锁定。

SHOW  STATUS  LIKE  'table%';

MySQL 性能优化-数据库死锁监控

说明:

Table_locks_immediate:能够立即获得表级锁的锁请求次数

Table_locks_waited:不能立即获取表级锁而需要等待的锁请求次数

分析:

如果table_locks_waited值较高,且存在性能问题,则说明存在着较严重的表级锁争用情况。这时,需要对应用做进一步的检查,来确定问题所在,应首先优化查询,然后拆分表或复制表。

2)行级锁

通过检查 Innodb_row_lock状态变量来分析行锁的争用情况

SHOW STATUS LIKE 'Innodb_row_lock%';

MySQL 性能优化-数据库死锁监控MySQL 性能优化-数据库死锁监控

说明:

Innodb_row_lock_current_waits:当前锁等待的数量

Innodb_row_lock_time:自系统启动到现在,锁定的总时间,单位:毫秒 ms。

Innodb_row_lock_time_avg:平均锁定的时间,单位:毫秒 ms。

Innodb_row_lock_time_max:最大锁定时间,单位:毫秒 ms。

Innodb_row_lock_waits:自系统启动到现在,锁等待次数,即锁定的总次数。

分析:

针对如果InnoDB_row_lock_waits和InnoDB_row_lock_time_avg的值比较高,说明可能存在锁争用的情况,针对 Innodb 类型的表,可以通过设置InnoDB Monitors来进一步观察发生锁争用的表、数据行等,并分析锁争用的原因,如下:

注:可通过语句SHOW CREATE TABLE table_name;查看表table_name使用的引擎(查询输出结果中找到ENGINE=xxxx,这里xxxx即为使用的引擎);

1、先设置InnoDB Monitor

CREATE  TABLE  innodb_monitor(a  INT)  ENGINE=INNODB;

2.查看

SHOW ENGINE INNODB STATUS;

说明:

1.输出结果包含了详细的当前锁等待的信息,包括表名、锁类型、锁定记录的情况等等。打开监视器以后,默认情况下每 15 秒会向日志中记录监控的内容,如果长时间打开会导致.err 文件变得非常的巨大,所以我们在确认问题原因之后,要记得删除监控表(DROP  TABLE innodb_monitor;)以关闭监视器。

2.输出结果为基于一段时间的数据采样,得出的每秒平均值,这里的时间取自系统启动到当前时间的时间间隔或者上次输出到当前时间的时间间隔

3.找到TRANSACTIONS部分的内容,可以查看事务死锁争用的相关情况

MySQL 性能优化-数据库死锁监控的更多相关文章

  1. MySQL 性能优化--优化数据库结构之优化数据类型

    MySQL性能优化--优化数据库结构之优化数据类型   By:授客  QQ:1033553122   优化数字数据(Numeric Data) l   对于唯一ID或其它可用字符串或数字表示的值,选择 ...

  2. MySQL 性能优化--优化数据库结构之优化数据大小

    MySQL性能优化--优化数据库结构之优化数据大小   By:授客  QQ:1033553122 尽量减少表占用的磁盘空间.通常,执行查询期间处理表数据时,小表占用更少的内存. 表列 l   尽可能使 ...

  3. Java面试准备十六:数据库——MySQL性能优化

    2017年04月20日 13:09:43 阅读数:6837 这里只是为了记录,由于自身水平实在不怎么样,难免错误百出,有错的地方还望大家多多指出,谢谢. 来自MySQL性能优化的最佳20+经验 为查询 ...

  4. MySQL性能优化(二):优化数据库的设计

    原文:MySQL性能优化(二):优化数据库的设计 版权声明:本文为博主原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明. 本文链接:https://blog.csdn.n ...

  5. mysql 性能优化方向

    国内私募机构九鼎控股打造APP,来就送 20元现金领取地址:http://jdb.jiudingcapital.com/phone.html内部邀请码:C8E245J (不写邀请码,没有现金送)国内私 ...

  6. redmine在linux上的mysql性能优化方法与问题排查方案

    iredmine的linux服务器mysql性能优化方法与问题排查方案     问题定位:   客户端工具: 1. 浏览器inspect-tool的network timing工具分析   2. 浏览 ...

  7. Mysql 性能优化教程

    Mysql 性能优化教程 目录 目录 1 背景及目标 2 Mysql 执行优化 2 认识数据索引 2 为什么使用数据索引能提高效率 2 如何理解数据索引的结构 2 优化实战范例 3 认识影响结果集 4 ...

  8. 转 Mysql性能优化教程

    Mysql性能优化教程 背景及目标 厦门游家公司(4399.com)用于员工培训和分享. 针对用户群为已经使用过mysql环境,并有一定开发经验的工程师 针对高并发,海量数据的互联网环境. 本文语言为 ...

  9. mysql性能优化-慢查询分析、优化索引和配置 (慢查询日志,explain,profile)

    mysql性能优化-慢查询分析.优化索引和配置 (慢查询日志,explain,profile) 一.优化概述 二.查询与索引优化分析 1性能瓶颈定位 Show命令 慢查询日志 explain分析查询 ...

随机推荐

  1. 北理工c语言期末考试

    1 给定一个区间,输出其中前半部分数字之和等于后半部分数字之和的数,没有则输出No output.(15分) 题目内容: 给定一个区间,输出其中前半部分数字之和等于后半部分数字之和的数,没有则输出No ...

  2. 【POJ 1556】The Doors 判断线段相交+SPFA

    黑书上的一道例题:如果走最短路则会碰到点,除非中间没有障碍. 这样把能一步走到的点两两连边,然后跑SPFA即可. #include<cmath> #include<cstdio&gt ...

  3. Report&lowbar;SRW在RDF中初始化的重要性(案例)

    2015-02-01 Created By BaoXinjian 一.摘要 在开发oracle report(report 6i)的时候,常常会用到fnd_global或fnd_profile来获取当 ...

  4. 使用MbrFix&period;exe修复MBR分区表

    在卸载linux Ubuntu之前,先修复MBR,然后再删除Linux分区就可以了.而MbrFix.exe 就是这样一个Windows 修复MBR的应用程序软件,MbrFix.exe 不仅支持Wind ...

  5. Android广播机制(转)

    1.Android广播机制概述 Android广播分为两个方面:广播发送者和广播接收者,通常情况下,BroadcastReceiver指的就是广播接收者(广播接收器).广播作为Android组件间的通 ...

  6. Linux系统编程(11)——进程间通信之有名管道

    管道应用的一个重大限制是它没有名字,因此,只能用于具有亲缘关系的进程间通信,在有名管道(named pipe或FIFO)提出后,该限制得到了克服.FIFO不同于管道之处在于它提供一个路径名与之关联,以 ...

  7. 《Linux命令行与shell脚本编程大全》 第十四章 学习笔记

    第十四章:呈现数据 理解输入与输出 标准文件描述符 文件描述符 缩写 描述 0 STDIN 标准输入 1 STDOUT 标准输出 2 STDERR 标准错误 1.STDIN 代表标准输入.对于终端界面 ...

  8. &rsqb;Java 5&vert;6 并发包介绍

    ava.util.concurrent 包含许多线程安全.测试良好.高性能的并发构建块.不客气地说,创建 java.util.concurrent 的目的就是要实现 Collection 框架对数据结 ...

  9. poj3614 Sunscreen

    贪心题. 如何找出正确的贪心策略呢? 我一开始是以为按照l排序,然后从1到n遍历,挑最大的满足的防晒霜.后来发现不行.挑最小的也不行. 看了题解发现是从n到1遍历. 为什么? 因为i-1的l比i的l承 ...

  10. 一次安装win10 ubuntu16&period;0经过记录

    步骤摘要 三个U盘: 1.制作WIN8 PE启动盘,使用的软件为“U深度装机版”,可自行百度下载 2.制作WIN10系统安装盘,使用UltraISO,这里使用的win10镜像为: 链接: http:/ ...