磁盘问题定位与解决

devopsec 等级 620 0 0

磁盘问题定位基本流程:

磁盘问题定位与解决

磁盘的压力分析,主要使用下面几个性能计数器 (针对单独的物理盘,每个物理磁盘都会有一组):

  1. Avg. Disk Read Queue Length 读队列(越小越好,理想值 2 以下,队列越高说明一个操作的响应时间越长)
  2. Avg. Disk Write Queue Length 写队列(越小越好,理想值 2 以下,队列越高说明一个操作的响应时间越长)
  3. Avg. Disk sec/Read  
  4. Avg. Disk sec/Write
  5. Disk Read Bytes/sec
  6. Disk Write Bytes/sec

注:常规判断系统磁盘压力,通过读写队列即可判断,后面4个主要用于磁盘是否自身性能存在问题,本文不介绍。

步骤1.排除其他因素影响

磁盘IO一般是整个数据库的瓶颈,磁盘写入速度的快慢直接影响着数据库的性能,一般推荐数据库服务器不要与其他应用共用服务器,同时也要尽量避免在数据库服务器上做大的文件处理工作。

步骤2.**磁盘问题定位**

磁盘队列计数器持续很高(Avg. Disk Read Queue Length、Avg. Disk Write Queue Length)

磁盘问题定位与解决

磁盘问题定位与解决

磁盘响应时间很长(磁盘队列很高,请求需要排队完成,所以表现为响应时间长)

磁盘问题定位与解决

磁盘队列波动

磁盘问题定位与解决

磁盘问题定位与解决

**步骤3.磁盘**问题分析与解决(通用步骤)****

首先有哪些情况会对磁盘造成压力?

    1. 内存不足导致需要频繁和磁盘交互  (一般为主因)
    2. 经常有大量冷数据需要从磁盘读取,或经常有大批量脏页一次写入(checkpoint触发)
    3. 磁盘读写速度,不能满足业务需要

解决磁盘问题首先请诊断内存是否存在瓶颈,参照上一篇 -----内存问题定位与解决

如果内存不存在问题,请分析语句压力,是否有不优化的语句(要查询大量数据)需要从磁盘读取。

并查看系统的文件磁盘规划:

看一下这个系统的磁盘及数据库文件分布

   磁盘问题定位与解决

   可以看到这个服务器只配置了一块物理磁盘

   数据库1

   磁盘问题定位与解决

数据库2

   磁盘问题定位与解决

   tempDB

   磁盘问题定位与解决

2个业务频繁的大数据库,数据文件、日志文件和系统tempDB都在同一个磁盘上!这样磁盘的读写速度势必不能满足业务要求。

磁盘规划建议:

   规划磁盘分配的好处:假设你有两个数据库,业务操作都很繁忙,且读/写量都很大对磁盘的压力都很大,那么你自然会想到把他们分散到不同的磁盘上,这样每个库针对自己的磁盘读/写,不会互相影响且压力相当于原来的1/2,从而可以提升磁盘操作的响应时间。

   数据库磁盘该怎么划分? 不同系统不同环境可能都不相同,下面给出一些简单建议:

    1. 按照文件类型划分:数据文件、日志文件、tempDB文件、备份文件,分别放在一个物理磁盘
    2. 按照数据库划分:不同的业务数据库(压力大的)分别放在一个物理磁盘,tempDB和备份文件各一个物理磁盘。

   上面的两种分法是基本的划分方式,但是根据系统压力系统配置,均有不同情况。

   当你的数据库压力较小,或磁盘资源紧张可以做适当的合并。当你的数据库特别大,并且有多个文件组,也可以选择把文件组更进一步细分。

   类似于做了分区表,不同分区放在不同磁盘上,当需要多个分区数据时,可以利用IO并行提升效率。

本文转自 https://www.cnblogs.com/zhaohongtian/p/6801254.html,如有侵权,请联系删除。

收藏
评论区

相关推荐

20款开发运维必备的顶级工具
![](https://oscimg.oschina.net/oscnet/3d0acef5-6f21-4fcd-b640-1f40fa99c539.gif) 开发运维工具与软件开发领域的最佳实践密切相关,也与必要的规范密切相关。在整个开发生命周期涉及到一大批新旧工具,从规划、编码、测试、发布到监控。本文介绍你应该考虑添加到工具箱中的20种开发运维工具,供
IT:从运维到运营
_本文转自公众号:傲寒荐书,作者:陈傲寒_ _IT运维?IT运营?_ _都是 IT Operations,有什么区别?_ _IT运维管理?IT运营管理?_ _都是 ITOM,有什么区别?_ _一字之差,只是翻译不同,还是另有玄机?_ _其实,_**中文真的是一门更精确的语言 :-)** * _IT运维是“活着”,IT运营是“活得好”;_
MySQL运维之
**1、mysqldump备份一个数据库** mysqldump命令备份一个数据库的基本语法: mysqldump -u user -p pwd dbname > Backup.sql 我们来讲解一下备份的文件都包含了什么?\-- MySQL dump 10.13 Distrib 5.5.20, for Win32 (x86)\--
2020 DevOps流水线实践课程
![](https://oscimg.oschina.net/oscnet/413d404e-8fb3-4407-bde1-5c90d553ab77.png) 我认为Jenkins是对我这些年运维经验的总结,起初我们运维同学都是编写脚本完成一些自动化的操作。而有了Jenkins我们可以将我们的运维经验与Jenkins设计理念融合完成自动化运
2020 企业级DevOps流水线实践课程
![](https://oscimg.oschina.net/oscnet/398cdd5d-7354-4e19-a735-8c8b8cd807ae.png) 我认为Jenkins是对我这些年运维经验的总结,起初我们运维同学都是编写脚本完成一些自动化的操作。而有了Jenkins我们可以将我们的运维经验与Jenkins设计理念融合完成自动化运
2020 DevOps流水线实践课程
![](https://oscimg.oschina.net/oscnet/413d404e-8fb3-4407-bde1-5c90d553ab77.png) 我认为Jenkins是对我这些年运维经验的总结,起初我们运维同学都是编写脚本完成一些自动化的操作。而有了Jenkins我们可以将我们的运维经验与Jenkins设计理念融合完成自动化运
2020 企业级DevOps流水线实践课程
![](https://oscimg.oschina.net/oscnet/398cdd5d-7354-4e19-a735-8c8b8cd807ae.png) 我认为Jenkins是对我这些年运维经验的总结,起初我们运维同学都是编写脚本完成一些自动化的操作。而有了Jenkins我们可以将我们的运维经验与Jenkins设计理念融合完成自动化运
AIOps在美团的探索与实践——故障发现篇
![](https://oscimg.oschina.net/oscnet/up-45fc0178edcbec3835316f2c637b1b3f793.JPEG) 一、背景 ---- AIOps,最初的定义是Algorithm IT Operations,是利用运维算法来实现运维的自动化,最终走向无人化运维。随着技术成熟,逐步确定为Artificial
ClickHouse之DBA运维宝典
最近有位网友与我聊天,他是一名 DBA,问我在 ClickHouse 中有没有一些能够 “安家立命” 的运维 SQL 语句。我想对于这个问题很多朋友都会有兴趣,所以就在这里做一个简单的分享。 在 ClickHouse 默认的 system 数据库下(databse),拥有众多的系统表。我们对 ClickHouse 运行状态的各种信息,就主要来自于这
DOIS 2019 DevOps国际峰会北京站来袭~
DevOps 国际峰会是国内唯一的国际性 DevOps 技术峰会,由 OSCAR 联盟指导、DevOps 时代社区与高效运维社区联合主办,共邀全球80余名顶级专家畅谈 DevOps 体系与方法、过程与实践、工具与技术。 会议召开时间:2019-07-05 08:00至 2019-07-06 18:00结束 会议召开地点:北京 主办单位:DevOps
Debezium日常运维手机
关于Kafka-Connect: (1) 是否可以动态添加已有数据的新表?  不可以,Kafka-Connect需要配置先行。如果是已有数据的新表,无法通过修改已有的kafka-connect配置进行新表的Snapshot初始化。 建议通过table white list功能,进行新表的snapshot。然后等到稳定后,再合并到同一个Kafka-con
Fabric区块链教程汇总
本文汇总整理超过100个超级账本Fabric开发与安装运维相关的教程与工具。 ![在这里插入图片描述](https://img-blog.csdnimg.cn/20200320105251549.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM
Linux云计算工程师
**一、[Linux运维基础](https://www.oschina.net/action/GoToLink?url=https%3A%2F%2Fwww.cnblogs.com%2Fyxiaodao%2Fp%2F10275366.html)** **二、[Linux运维高级-核心知识提高](https://www.oschina.net/action/G
Linux系统与服务构建运维
Linux系统与服务构建运维 1+x初级,项目三 FTP服务的使用 ======== ### 配置YUM源 #### 将CD设备进行连接 ![](https://img2020.cnblogs.com/blog/1893874/202005/1893874-20200508194528832-718337495.png) #### 将CD设备挂载
Linux运维常见面试题之精华收录
Linux运维常见面试题之精华收录 ================= **1、什么是运维?什么是游戏运维?** 1)运维是指大型组织已经建立好的网络软硬件的维护,就是要保证业务的上线与运作的正常, 在他运转的过程中,对他进行维护,他集合了网络、系统、数据库、开发、安全、监控于一身的技术 运维又包括很多种,有DBA运维、网站运维、虚