磁盘问题定位基本流程:
磁盘的压力分析,主要使用下面几个性能计数器 (针对单独的物理盘,每个物理磁盘都会有一组):
- Avg. Disk Read Queue Length 读队列(越小越好,理想值 2 以下,队列越高说明一个操作的响应时间越长)
- Avg. Disk Write Queue Length 写队列(越小越好,理想值 2 以下,队列越高说明一个操作的响应时间越长)
- Avg. Disk sec/Read
- Avg. Disk sec/Write
- Disk Read Bytes/sec
- Disk Write Bytes/sec
注:常规判断系统磁盘压力,通过读写队列即可判断,后面4个主要用于磁盘是否自身性能存在问题,本文不介绍。
步骤1.排除其他因素影响
磁盘IO一般是整个数据库的瓶颈,磁盘写入速度的快慢直接影响着数据库的性能,一般推荐数据库服务器不要与其他应用共用服务器,同时也要尽量避免在数据库服务器上做大的文件处理工作。
步骤2.磁盘问题定位
磁盘队列计数器持续很高(Avg. Disk Read Queue Length、Avg. Disk Write Queue Length)
磁盘响应时间很长(磁盘队列很高,请求需要排队完成,所以表现为响应时间长)
磁盘队列波动
读
写
步骤3.磁盘问题分析与解决(通用步骤)
首先有哪些情况会对磁盘造成压力?
- 内存不足导致需要频繁和磁盘交互 (一般为主因)
- 经常有大量冷数据需要从磁盘读取,或经常有大批量脏页一次写入(checkpoint触发)
- 磁盘读写速度,不能满足业务需要
解决磁盘问题首先请诊断内存是否存在瓶颈,参照上一篇 -----内存问题定位与解决
如果内存不存在问题,请分析语句压力,是否有不优化的语句(要查询大量数据)需要从磁盘读取。
并查看系统的文件磁盘规划:
看一下这个系统的磁盘及数据库文件分布
可以看到这个服务器只配置了一块物理磁盘
数据库1
数据库2
tempDB
2个业务频繁的大数据库,数据文件、日志文件和系统tempDB都在同一个磁盘上!这样磁盘的读写速度势必不能满足业务要求。
磁盘规划建议:
规划磁盘分配的好处:假设你有两个数据库,业务操作都很繁忙,且读/写量都很大对磁盘的压力都很大,那么你自然会想到把他们分散到不同的磁盘上,这样每个库针对自己的磁盘读/写,不会互相影响且压力相当于原来的1/2,从而可以提升磁盘操作的响应时间。
数据库磁盘该怎么划分? 不同系统不同环境可能都不相同,下面给出一些简单建议:
- 按照文件类型划分:数据文件、日志文件、tempDB文件、备份文件,分别放在一个物理磁盘
- 按照数据库划分:不同的业务数据库(压力大的)分别放在一个物理磁盘,tempDB和备份文件各一个物理磁盘。
上面的两种分法是基本的划分方式,但是根据系统压力系统配置,均有不同情况。
当你的数据库压力较小,或磁盘资源紧张可以做适当的合并。当你的数据库特别大,并且有多个文件组,也可以选择把文件组更进一步细分。
类似于做了分区表,不同分区放在不同磁盘上,当需要多个分区数据时,可以利用IO并行提升效率。
相关推荐
文档提及了SQL Server 2012的两个特定版本——Developer Edition和Express Edition,并说明了这两种版本的安装指南,但同样适用于SQL Server 2008和2012家族的其他版本。 安装SQL Server的第一步通常是下载安装程序...
LiteSpeed是一款由Quest公司出品的数据库备份工具,它针对的是微软SQL Server数据库的备份与恢复需求,旨在提供一种高效的备份解决方案,特别是在面对大数据量备份时能够显著减少备份时间与空间占用,并确保数据的...
《谋定而动——SQL Server容量管理》这篇文章探讨了SQL Server数据库管理中的关键问题——容量管理,以及如何通过Quest Capacity Manager for SQL Server工具解决这些问题。SQL Server容量管理是数据库管理员面临的...
本资源摘要信息将涵盖 SQL Server 数据库基础知识点,包括数据的基本概念、SQL Server 的基本操作、创建数据库、表和检查约束、编写 T-SQL 执行数据查询、数据库和应用程序的交互、数据库的发展史、当前流行的数据库...
在IT领域,数据库管理系统是不可或缺的一部分,而Microsoft SQL Server 2008作为一个广泛使用的数据库系统,对于企业和个人开发者来说都是重要的工具。本教程将详细阐述SQL Server 2008的安装过程,帮助初学者及有...
第二种途径在确定 SQL Server™ 性能问题时通常更有效。 超线程是影响 SQL Server 的一个重要因素。超线程实际上代表每个物理处理器的两个操作系统逻辑处理器。超线程实质上利用物理处理器上的闲置时间,以便每个...
首先,安装SQL Server 2008之前,确保你的操作系统——Windows Server 2003已经安装了Service Pack 2 (SP2)补丁。这是必要的,因为SP2包含了对系统的安全更新和性能优化,能够确保SQL Server 2008在一个稳定和安全的...
5. **性能监控**:通过DataQurey,用户可以实时监控SQLServer的性能指标,如CPU使用率、内存占用、磁盘I/O等,及时发现并解决问题。 三、使用教程 1. **安装与启动**:下载DataQurey压缩包,解压后运行应用程序,...
7. **设置身份验证模式**: SQL Server支持两种身份验证模式——Windows身份验证和混合模式(Windows身份验证和SQL Server身份验证)。混合模式允许使用SQL Server登录名和密码,适用于需要非Windows用户访问数据库的...
提升SQL Server效能的90:10法则——10个可以增加90%效能的调校技巧 本文总结了10个可以提高SQL Server性能的调校技巧,旨在帮助读者提高数据库的效率和性能。 一、规范化设计 规范化设计是提高SQL Server性能的...
- **监控与分析**:使用 SQL Server Profiler 和 DMVs (Dynamic Management Views) 等工具进行性能监控和问题诊断。 #### 七、安全与权限管理 - **登录与用户**:登录是连接到 SQL Server 的凭据,用户是数据库...
《有备无患 未雨绸缪——SQL server下的数据备份》这篇文档详细介绍了在SQL Server环境下进行数据备份的重要性、方法和步骤,为IT专业人员提供了一套完整的数据备份解决方案。 首先,文档开宗明义地提出了备份的...
在SQL Server中,数据库的备份与恢复是至关重要的任务,因为它们确保了数据的安全性和可恢复性。在遇到系统故障、错误或者意外数据丢失时,有效的备份策略可以帮助我们迅速恢复到理想状态,减少业务中断的影响。 ...
### SQL Server 中的阻塞与死锁 #### 一、SQL Server事务的ACID特性 在探讨SQL Server中的阻塞和死锁之前,我们首先需要理解事务的基本特性——ACID特性,即原子性(Atomicity)、一致性(Consistency)、隔离性...
它通常与数据库搭配使用,尤其是与SQL Server数据库的结合,可以构建出一个高性能的客户机/服务器解决方案。SQL Server数据库是一个成熟的、安全的客户机/服务器体系结构的关系型数据库管理系统,具备高度的可扩展性...
2. **安装类型**:SQL Server 2008提供两种主要的安装方式——"全新安装"和"升级安装"。全新安装适合于没有现有SQL Server实例的情况,而升级安装则用于将旧版本的SQL Server升级到2008版本。 3. **组件选择**:SQL...
Microsoft SQL Server 2016所内置的能力——包括企业级的性能、安全性、可用性和可扩展性——共同定义了一个“新的关键任务”,回答了组织在全球动态竞争环境中所需具备的哪些能力。 在性能优化方面,SQL Server ...
此外,还可以借助第三方工具,如“SqlServer 日志清除专家 v3.5”。这类工具通常提供直观的界面,只需几步操作即可完成日志清理,适合对SQL Server不太熟悉的用户。该工具不仅可以快速清理日志,还能帮助用户轻松...
标题与描述均指向了一个具体的技术问题的解决方法——在SQL Server 2008中如何删除或压缩数据库日志。这一需求通常出现在日志文件占用过多磁盘空间,或者备份过程耗时过长,影响正常业务操作的情况下。下面将详细...