SQL SERVER日常运维巡检系列之-性能
前言
做好日常巡检是数据库管理和维护的重要步骤,而且需要对每次巡检日期、结果进行登记,同时可能需要出一份巡检报告。
本系列旨在解决一些常见的困扰:
- 不知道巡检哪些东西
- 不知道怎么样便捷体检
- 机器太多体检麻烦
- 生成报告困难,无法直观呈现结果
性能是系统好坏的重要指标之一,而性能问题可能是因为某一个小点而引起(如参数配置、作业配置、结构设计、软硬件环境等)。前面七篇文章从不同的方面对系统进行了巡检,本篇将介绍系列巡检中最重要的一项(性能)。
性能基线
性能巡检的指标非常多,情况变化也很大,所以对自己的系统应该建立起一套完整的性能评价模型,何为性能评价模型,就是当系统进入一个平稳期,经过了优化,系统性能已经达到了一个稳定值,那么我们可以用这个稳定的项目作为后期巡检,及功能上线,结构变更等操作性能对比的基线。
在【体检项目】页我们可以使用一个比较稳定的体检项目的历史版本作为性能基线,为了区分其他项目可以重命名为”性能基线


基于性能基线对比
总体指标
在【概览】页我们可以从整体查看系统的性能现状,主要从【查询语句-执行时间】、【会话-等待类型】、【检查项】等,与基线进行对比。查看巡检中的指标是否与基线指标有较大的差异。
例:当巡检时【查询语句-执行时间】中各个时间段的慢语句数量明显高于基线,那么可以说明系统中的语句可能有变慢的情况。CPU、内存、IO等系统指标压力升高,说明你系统的压力变大,变大的原因可能因为有新增的不优化语句或硬件资源出现问题。
注:基线与巡检的收集时间应保证相同或小幅差异。如果差异很大,可能不具有说明性。

具体指标
计数器
- 系统计数器
- 数据库计数器

查询语句
在巡检中,我们可以主要关注:
- 慢语句数量

- 执行次数top 10
- 持续时间top 10
- CPU消耗top 10
- 读次数 top 10
- 写次数top 10
- 影响行数top 10

系统等待与阻塞
在巡检中,我们可以主要关注:
- 等待的类型及数量分布


- 等待次数top 10
- 等待时间top 10
- CPU时间top 10
- 逻辑读次数 top 10
- 物理读次数top 10
- 物理写top 10

其他指标
数据库的性能巡检指标很多,可以根据自己系统的情况选择,具体指标及优化方式请参见:性能诊断系列
总结
前面的一些巡检项及配置项,在管理比较规范的系统下,一般并不会出现什么问题,而性能不同,这是一个受很多因素影响,并且比较容易产生问题的项。同时性能对系统的总要程度是不言而喻的,做好前面的巡检也是性能稳定的保证。
北京格瑞趋势科技有限公司是聚焦于数据服务的高新技术企业,成立于2008年,创始团队及核心技术人员来自微软和雅虎。微软数据平台合作伙伴,卫宁健康数据平台战略合作伙伴。通过产品+服务双轮驱动的业务模式,14年间累计服务4000+客户,覆盖互联网、市政、交通、电信、医疗、教育、电力、制造业等各个领域。

SQL SERVER日常运维巡检系列之-性能的更多相关文章
- SQL SERVER自动化运维系列
SQL SERVER自动化运维系列 转自:https://www.cnblogs.com/zhijianliutang/p/5001142.html 本系列为SQL SERVER自动化运维的一些操作技 ...
- SQL Server 自动化运维系列
本系列为SQL SERVER自动化运维的一些操作技巧点,所有内容都是根据日常运维过程中最经常遇到的问题,并为此形成了一些自动化运维的方式,皆为原创.... 供部分DBA和开发人员浏览借鉴,所应用平台基 ...
- 1、SQL Server自动化运维 - 备份(一)业务数据库
为了能够恢复数据,数据库运维基础就是备份,备份自动化也是运维自动化首要进行的. 笔者的备份自动化,通过配置表快速配置为前提,同时记录备份过程,尽可能的减少人工操作.首先将SQL Server备份按用途 ...
- sql server自动化运维脚本
数据库运维中盛传一个小段子,我误删除了数据库,改怎么办?有备份还原备份,没有备份就准备简历!听起来有趣但发生在谁身上,谁都笑不起来.接触了很多的客户发现90%客户的运维策略都不是很完善.本篇就分享一些 ...
- Istio 运维实战系列(3):让人头大的『无头服务』-下
本系列文章将介绍用户从 Spring Cloud,Dubbo 等传统微服务框架迁移到 Istio 服务网格时的一些经验,以及在使用 Istio 过程中可能遇到的一些常见问题的解决方法. 失败的 Eur ...
- SQL Server自动化运维系列——监控跑批Job运行状态(Power Shell)
需求描述 在我们的生产环境中,大部分情况下需要有自己的运维体制,包括自己健康状态的检测等.如果发生异常,需要提前预警的,通知形式一般为发邮件告知. 在上一篇文章中已经分析了SQL SERVER中关于邮 ...
- SQL Server自动化运维系列——监控磁盘剩余空间及SQL Server错误日志(Power Shell)
需求描述 在我们的生产环境中,大部分情况下需要有自己的运维体制,包括自己健康状态的检测等.如果发生异常,需要提前预警的,通知形式一般为发邮件告知. 在所有的自检流程中最基础的一个就是磁盘剩余空间检测. ...
- SQL Server自动化运维系列——关于邮件通知那点事(.Net开发人员的福利)
需求描述 在我们的生产环境中,大部分情况下需要有自己的运维体制,包括自己健康状态的检测等.如果发生异常,需要提前预警的,通知形式一般为发邮件告知. 邮件作为一种非常便利的预警实现方式,在及时性和易用性 ...
- SQL Server自动化运维系列——关于数据收集(多服务器数据收集和性能监控)
需求描述 在生产环境中,很多情况下需要采集数据,用以定位问题或者形成基线. 关于SQL Server中的数据采集有着很多种的解决思路,可以采用Trace.Profile.SQLdiag.扩展事件等诸多 ...
- SQL Server自动化运维系列 - 监控磁盘剩余空间及SQL Server错误日志(Power Shell)
需求描述 在我们的生产环境中,大部分情况下需要有自己的运维体制,包括自己健康状态的检测等.如果发生异常,需要提前预警的,通知形式一般为发邮件告知. 在所有的自检流程中最基础的一个就是磁盘剩余空间检测. ...
随机推荐
- Flutter自动生成安卓和IOS图标
flutter_launcher_icons 用这个库自动生成 首先添加依赖 dev_dependencies: flutter_launcher_icons: flutter_icons: andr ...
- 程序员出海做 AI 工具:如何用 similarweb 找到最佳流量渠道?
如题,今天给大家带来实操的一个小教程.这里先抛出个问题:"做海外流量增长,如何为产品制定营销渠道?" 分享一个方法只需要 3 步,方法如下: 找到和你产品最接近的细分 Top 竞争 ...
- 【报错解决】【Mathtype】lease restart Word to load MathType addin properly
打开Mathtype安装目录 例如我的C:\software\MathModel\MATHTYPE 继续进入目录C:\software\MathModel\MATHTYPE\MathPage\64 找 ...
- 【数据结构】【折半查找法】【二分查找法】Java代码
public class half { public static int find(int[] nums,int num){ int max=nums.length-1; int min=0; in ...
- SpringBoot结合Liquibase实现数据库变更管理
https://juejin.cn/post/7171232605478584328 https://juejin.cn/post/7170857098538909732 前言 研发过程中经常涉及到数 ...
- Spring RestTemplete支持Https安全请求
实现步骤 Step1: 自定义ClientHttpRequestFactory package com.example.demo.https; import org.springframework.h ...
- [转]Linux系统下的GCC编译过程、使用命令详解(多文件编译、动态库、静态库)
Linux系统下的GCC编译过程.使用命令详解(多文件编译.动态库.静态库) [Linux]gcc简介+编译过程 翻译 搜索 复制
- [转]When allowCredentials is true, allowedOrigins cannot contain the special value “*“
前言 项目接口访问出现allowedOrigins cannot contain the special value "*" java.lang.IllegalArgumentEx ...
- 基于开源IM即时通讯框架MobileIMSDK:RainbowChat v8.3版已发布
关于MobileIMSDK MobileIMSDK 是一套专门为移动端开发的开源IM即时通讯框架,超轻量级.高度提炼,一套API优雅支持UDP .TCP .WebSocket 三种协议,支持iOS.A ...
- TestProject 使用汇总
1. 截图 from addons.screenshot_utils import ScreenshotUtils step_output = driver.addons().execute( Scr ...