随笔分类 - 性能优化
摘要:自从SQL Server 2005以来,微软已经提供了多种高可用性技术来减少宕机时间和增加对业务数据的保护,而随着SQL Server 2008,SQL Server 2008 R2,SQL Server 2012的不断发布,SQL Server中已经存在了满足不同场景的多种高可用性技术。 在文章开
阅读全文
摘要:背景 客户凌晨把HIS数据库迁移到配置更高的新服务器,上午业务高峰时应用非常缓慢。 现象 通过SQL专家云实时可视化界面看到大量的绿点,绿点表示会话在等待某项资源,绿点越大说明等待的会话数越多。 进入活动会话列表,发现大量会话的状态为runnable,runnable代表这个会话可以执行,但没有 C
阅读全文
摘要:背景 上午10点50分左右,客户接到SQL专家云的告警短信,数据库发生了严重的阻塞,登录到SQL专家云中发现阻塞的源头是SQL Server Management Studio,KILL掉该会话后解决。但是不理解一条简单的SQL语句为什么会造成阻塞,因此找我们分析下原因。 现象 从SQL专家云的趋势
阅读全文
摘要:背景 客户反馈系统突然运行非常缓慢,持续了近20分钟的时间,通过SQL专家云定位到有人开启了Profiler导致,但是不能定位是谁开启的,请我们协助分析。 现象 登录SQL专家云,进入实时可视化页面,在活动会话中看到在11:29~11:40期间出现了大量的有资源等待的会话。 进入活动会话原始数据页面
阅读全文
摘要:背景 客户业务系统升级后,高峰期运行缓慢,在SQL专家云上看到数据库出现严重等待,需要分析原因并紧急处理。 现象 登录到SQL专家云中,进入实时可视化页面,在活动会话里面看到有大量资源等待的会话。 点击一个时间点,进入到该时间点的活动会话原始数据。看到大量会话的等待类型为PAGELATCH_UP,等
阅读全文
摘要:背景 客户凌晨把HIS数据库迁移到配置更高的新服务器,上午业务高峰时应用非常缓慢。 现象 通过SQL专家云实时可视化界面看到大量的绿点,绿点表示会话在等待某项资源,绿点越大说明等待的会话数越多。 进入活动会话列表,发现大量会话的状态为runnable,runnable代表这个会话可以执行,但没有 C
阅读全文
摘要:步骤1.TempDB压力诊断 等待类型诊断 TempDB的争用压力在等待篇中已经简单介绍,等待的表现为 pagelatch_类等待,等待的资源是 “2: X :X ” tempDB所在磁盘的响应时间 一个实例下只有一个tempdb,也就是当你在一个实例下创建了100个数据库,这100个数据库也只能用
阅读全文
摘要:前面很多篇不管CPU、内存、磁盘、语句等等等都提到了索引的重要,我想刚刚开始学数据库的在校学生都知道索引对语句性能的重要性。但他们可能不知道,对语句的重要性就是对系统的重要性! 开篇小测验 开篇小测验 下面这样一个小SQL 你该怎么样添加最优索引 你是否一眼就能看出来呢? 答案将在文章中逐步揭晓~~
阅读全文
摘要:重中之重 语句执行顺序 我们先看看语句的执行顺序 如果我没记错这是《SQL SERVER 2005技术内幕--查询》这本书的开篇第一章第一节。书的作者也要让读者首先了解语句是怎么样的一个执行顺序,因为不知道顺序何谈写个好语句? 查询的逻辑执行顺序: (1) FROM < left_table> (3
阅读全文
摘要:等待分类与解决基本流程: 步骤1.定位问题 系统等待往往能直观的反映出系统问题。通过一些常见的等待类型,同样可以找到系统瓶颈,结合性能计数器往往定位更准确。 步骤1.定位问题 如:系统中存在大量IO类等待,那么可能表示你的磁盘或内存是语句运行缓慢的原因,也是系统的瓶颈所在。 常见的等待类型 CXPA
阅读全文
摘要:磁盘问题定位基本流程: 磁盘的压力分析,主要使用下面几个性能计数器 (针对单独的物理盘,每个物理磁盘都会有一组): Avg. Disk Read Queue Length 读队列(越小越好,理想值 2 以下,队列越高说明一个操作的响应时间越长) Avg. Disk Write Queue Lengt
阅读全文
摘要:内存问题定位基本流程: 主要用到的性能计数器 Page life expectancy (数据库计数器:主要显示不被使用的页,将在缓存中停留的秒数 ) Lazy writes/sec (数据库计数器:惰性写入器会在内存有压力且有新的内存需求时触发,成批的刷新“老化的缓冲区”) Page Reads/
阅读全文
摘要:CPU问题定位基本流程: 性能计数器诊断 主要用到的性能计数器 %Process Time 全实例 (主要用于查看当前服务器的CPU 情况) %Process Time sqlservr (主要用于查看数据库使用的CPU情况 ) 主要用到的性能计数器 步骤1.排除应用影响CPU 步骤1.排除应用影响
阅读全文