【FAQ系列】:DB服务器产生大量物理读问题优化思路
一 【现象】
1、7点到9点IO监控指标util特别高,如下:
2 、查看读写情况:读产生很高的物理IO,如下
【分析】:对比其他服务器,buffer pool都是80G,正常情况下热点数据都是从buffer pool中读取的,产生物理读基本很少,但是这组却产生了很多物理读,肯定是有问题的。
二 【找内鬼】
【基本思路】:既然产生了物理读,下一步我们很容易想到,是哪些表产生了物理io?更具体的就是这些表上哪些SQL会导致物理IO?
1、利用Performance_schema中file_summary_by_instance表统计IO情况。
2、写个脚本,分别统计在7点14到7点20、7点14分到8点14分这两个高峰期间,产生最多物理读的表是哪些。
3、找到表后,查看该表可疑的SQL,重点关注慢查询。
1、 通过统计performance_schema中file_summary_by_instance找到这两个高峰期间产生读物理IO最多的2个表
表已经定位到了,那么再深入一下,找到这些表上哪些SQL可能会导致大量物理读。通过我们开发的sql-trace平台或者通过performance_schema.events_statements_summary_by_digest进行统计。具体语句:
select DIGEST_TEXT,COUNT_STAR,FIRST_SEEN,LAST_SEEN from events_statements_summary_by_digest where DIGEST_TEXT like '%`a1`%';
2、 a1表上可疑的sql语句
SELECT Max(daydate)as daydate FROM a1 WHERE t_id = and bid>;
3、 a2表上可疑的sql语句
SELECT Max(daydate)as daydate FROM a2 WHERE m_id = and bid>;
为什么可疑?
可疑1、从时间段上看,以上sql执行时间和产生物理读比较吻合,都是7点到9点。如下:
可疑2、以上两个SQL都是慢查询。
可疑3、通过set profiling跟踪发现产生很多磁盘io,Block_ops_in=22176,Block_ops_out=664。
三 【验明正身】
找到负责的开发同学,发现是通过job跑的,为了确认是不是该SQL语句导致的问题,让开发同学把job延迟一个小时跑
第二天果然发现磁盘IO的高点也延迟了一个小时,到这里基本可以确定“内鬼”了。
【FAQ系列】:DB服务器产生大量物理读问题优化思路的更多相关文章
- DB服务器中的参数优化
1.swappiness 禁止系统使用swap空间,配置/etc/sysctl.conf中的vm.swappiness=0 2.Scheduler调度 Scheduler调度,指的是磁盘的IO调度算法 ...
- ORACLE 物理读 逻辑读 一致性读 当前模式读总结浅析
在ORACLE数据库中有物理读(Physical Reads).逻辑读(Logical Reads).一致性读(Consistant Get).当前模式读(DB Block Gets)等诸多概念,如果 ...
- centos5.11架设svn(svn系列 架设服务器 知识一总结)
♣svn是什么? ♣安装 --yum安装 --创建svn版本库目录 --创建版本库 --进入conf目录进行配置(该svn版本库配置文件) --启动svn版本库 - ...
- sqlserver性能调优中的逻辑读,物理读,预读是什么意思
表 'T_EPZ_INOUT_ENTRY_DETAIL'.扫描计数 1,逻辑读 4825 次,物理读 6 次,预读 19672 次.SQL SERVER 数据库引擎当遇到一个查询语句时,SQL SER ...
- 如何减小SQL 的物理读,。
1.dev time:1226 1个跑批 db_file_multiblock_read_count =128 60.05 (mins) 26-Dec-17 16:00:20 ~ 26-Dec-17 ...
- 物理读之LRU(近期最少被使用)的深入解析
转载请注明出处: http://blog.csdn.net/guoyjoe/article/details/38264883 一组LRU链表包含LRU主链.LRU辅助链.LRUW主链,LRUW辅助链, ...
- Tomcat系列之服务器的安装与配置以及各组件详解
Tomcat系列之服务器的安装与配置以及各组件详解 大纲 一.前言 二.安装与配置Tomcat 三.Tomcat 目录的结构 四.Tomcat 配置文件 注,本文的测试的操作系统为CentOS 6.4 ...
- 初谈SQL Server逻辑读、物理读、预读
前言 本文涉及的内容均不是原创,是记录自己在学习IO.执行计划的过程中学习其他大牛的博客和心得并记录下来,之所以想写下来是为了记录自己在追溯的过程遇到的几个问题,并把这些问题弄清楚. 本章最后已贴出原 ...
- 我为什么很烦在DB服务器上安装杀毒软件
常见的数据库连接问题无外乎是在数据库服务器本地可以连接SQL Server,但通过其他服务器就不可以连接.但这次我却碰到了相反的情况,在服务器本地无法通过IP/实例名连接,但从其他服务器却可以.而且每 ...
随机推荐
- 【LeetCode】327. Count of Range Sum
题目: Given an integer array nums, return the number of range sums that lie in [lower, upper] inclusiv ...
- CSS样式之选择器
一.CSS选择器构成 CSS选择器是你想要改变样式的html元素,通俗的说,选择器可以改变html文件中标签的属性,这些属性可以是颜色,背景图,字体等.每个选择器有一条或多条声明,可以同时改变某个标签 ...
- MySQL--当mysqldump --single-transaction遇到alter table(2)
在上篇<MySQL--当mysqldump --single-transaction遇到alter table>中测试发现,在MySQL 5.6版本中,如果在mysqldump期间修改表, ...
- Gist - Fetch Usage
Introduction Do you prefer the usage of "ES6 Promise"? If you do, you will like the usage ...
- 2238"回文字串"报告
题目描述: 回文串,就是从前往后和从后往前看都是一样的字符串.那么现在给你一个字符串,请你找出该字符串中,长度最大的一个回文子串. 输入描述: 有且仅有一个仅包含小写字母的字符串,保证其长度不超过50 ...
- MyBatis基础
一.大配置 <?xml version="1.0" encoding="UTF-8" ?> <!--文档类型,头文件--> <!D ...
- JavaWeb 后端 <十三> 之 监听器 JSTL国际化
1. 监听器 1.1 概述 监听器: 主要是用来监听特定对象的创建或销毁.属性的变化的! 是一个实现特定接口的普通java类! 对象: 自己创建自己用 (不用监听) 别人创建自己用 (需要监听) ...
- spring框架-spring.xml配置文件
运行的时候会报错的,因为写到<bean>标签里面去了,肯定会报错的,要记得把注释删掉,就不会报错了,这样写注释是为了方便下次自己看. <?xml version="1.0& ...
- iOS内购(IAP)中的那些坑
公司的公共库原来并没有这部分的代码,以前做内购是用两个比较有名的github上的第三方库.一个叫MKStoreKit,另一个叫IAPManager,我看了一下写的都很辣鸡,使用起来很不方便,而且写的还 ...
- POJ 3659 Cell Phone Network / HUST 1036 Cell Phone Network(最小支配集,树型动态规划,贪心)-动态规划做法
POJ 3659 Cell Phone Network / HUST 1036 Cell Phone Network(最小支配集,树型动态规划,贪心) Description Farmer John ...