位置: 编程技术 - 正文

系统隐形杀手——阻塞与等待(SQL)(系统带我玩隐形守护者 小说)

编辑:rootadmin

推荐整理分享系统隐形杀手——阻塞与等待(SQL)(系统带我玩隐形守护者 小说),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:隐身系统一类的小说,隐忍系统 小说,隐形杀手图片,系统带我玩隐形守护者 小说,隐身系统一类的小说,隐忍系统 小说,隐形杀手小说,隐形杀手是什么?,内容如对您有帮助,希望把文章链接给更多的朋友!

前言

应用系统承载着大量的业务,随之而来的是复杂的业务逻辑,在数据库上的表现就是有着大量的不同种类的SQL语句。

SQL语句执行的快慢又与阻塞等待有着密不可分的原因。

系统慢可能有很多种原因,硬件资源不足,语句不优化,结构设计不合理,缺少必要的运维方式。所有的这些问题都可以在阻塞与等待中看出端倪,发现并解决问题。

今天这篇我们主要讲述怎么样发现并解决系统的阻塞和等待。

场景描述

您的系统是否有这样的问题?

系统运行缓慢,很多功能需要几十秒才能呈现结果,用户体验极差,领导们不断施压,作为系统的负责人,只知道系统慢又不知道慢在哪里?我们迟迟不能解决问题,领导已经对我们怨声载道了或者已经慢习惯了,不再反馈了。 系统的功能运行缓慢,在生产环境中语句运行时间很长,但是在测试环境或者单独拿出这条语句运行的却很快?这好像不科学呀? 我对数据有较多的了解,我能查出系统的等待,但是我不知道这些等待意味着什么,百度的答案五花八门解决不了我的问题。 我能找到等待,也能解决这部分等待,但只是通过一些脚本,不能全面了解现状,只能东一锤子西一棒子的游击战。 我是专家问题我都能解决,但不能给领导一个直观的展现。

系统等待简介

一个好的SQL语句就好比一辆时速的好车,好的系统硬件(CPU,内存,磁盘)就好比平坦宽阔的马路。看似好车配好路,一定可以开的很快了!其实还忽略了一点!当你驾驶一辆法拉利跑在北京宽阔的三环上,就算你是老炮中的“三环十二少“,早高峰你能开到多少&#; 北京的早高峰!北京的早高峰!

这个例子就引出了系统阻塞和等待的概念,红灯(硬件等待,如IO等待),这就是正常的等待。另外一辆车在你前面不走了或开的很慢,那么你也只能等待(也可以说成你被他阻塞了)!

一张图告诉你系统的主要等待类型及解决思路:

问题诊断

任何问题的诊断都要从全局的角度考虑,最忌讳的就是看到一个指标高就冒然定位问题,然后以偏概全的去分析问题。

一个问题点可能涉及到很多部分,所以我们首先要从全局的角度定位系统问题,阻塞也是一样,到底系统中存在哪些类型的阻塞,哪些是主因,哪些是关联原因,哪些是次要的。

全局定位阻塞与等待  

首先我们要关心数据库中有哪些等待类型

注:这部分呈现的是系统中的等待情况,和使用脚本类似,已经排除了不必要关心的类型,同时对等待情况进行归类统计。

横坐标:等待类型

纵坐标:收集时间段内出现的次数

知道了等到类型,我们要了解这些类型中,哪种占用了大量的时间:

系统隐形杀手——阻塞与等待(SQL)(系统带我玩隐形守护者 小说)

注:各种等待类型所等待的时间也是排查的主要方向,结合等待类型与等待时间,我们能了解到:系统中有哪些等待,哪些等待比较严重,哪个最严重。

横坐标:等待类型

纵坐标:平均等待时间

了解了主要的等待类型和时间,我们还要分析一下:什么数据库来的?哪些程序来的?什么用户请求导致的?什么时间阻塞最严重?

具体语句看等待

系统的整体等待情况了然于心,下面我们改看看具体哪些语句造成的等待,这也是解决问题的重要分析步骤。

哪些语类句等待最频繁

注:这里我们可以根据等待次数、等待时间、消耗的各种资源排序,来多维度分析阻塞的语句类型

语句具体的等待情况时怎样的呢?我们可以通过【原始视图】查看具体语句在执行过程中的真实阻塞情况

注:在阻塞的详细视图中我们可以清晰的看到语句的阻塞树,并且可以看到阻塞的语句、时间、资源已经阻塞等待的类型

阻塞树:本例中【会话】被【会话】阻塞,而【会话】又被【会话】阻塞,这样3个会话就构成了一个阻塞链也叫阻塞树

诊断结论

通过全局定位,语句类型分析,到具体的语句执行阻塞状态,根据阻塞类型、次数、时间、连接程序、资源消耗等多种维度综合分析,我们可以清楚的看出数据库中的阻塞问题。

本例中系统主要的阻塞类型为CXPACKET和LCK_M_U,阻塞时间很长,主要的阻塞产生时间为上午十一点左右,主要的阻塞语句是一条update 和一个复杂的select查询等信息。

问题解决

首先下面的这张图已经简单的说明了系统对应的等待需要怎么样的解决思路。  

注:根据不同的情况降低阻塞的办法主要有:调整服务器、实例、数据库配置参数(如:调整并行度),更改隔离级别(如:快照读,nolock等),优化语句(如:添加索引,优化写法等)

本例中主要的CXPACKET是因为实例并行度参数配置不佳而导致,LCK_M_U主要是一条update被一个批处理的另一条update阻塞锁导致,优化update这类更新语句主要是保证update语句最优化,执行时间尽量缩短,另外高并发下的update比较常见的解决办法是使用索引利用key锁取代表锁以提高并发,可能被更新的表只有几十条记录,添加索引与不加索引的并发效率差别也会很大。另外程序的设计也是非常重要的,各种奥秘各位看官只能在实际环境中慢慢体会了,而使用SQL专家云工具的主要目的在于全面的定位问题,图表统计等形式清晰的展现问题,并根据工具提供的解决方案快速解决问题。

标签: 系统带我玩隐形守护者 小说

本文链接地址:https://www.jiuchutong.com/biancheng/320254.html 转载请保留说明!

上一篇:Sqlserver 高并发和大数据存储方案(sqlserver高并发性能差)

下一篇:SQL Server存储过程同时返回分页结果集和总数(sql server存储过程写法)

  • 小规模忘了报税怎么办
  • 预缴税款计算公式
  • 非限定性净资产相当于本年利润吗
  • 用友u8固定资产折旧怎么生成凭证
  • 食品类发票明细有哪些面包方便面
  • 仓库打包用的物品计什么科目
  • 增值税发票的抵扣联丢了怎么办
  • 所得税汇算清缴捐赠支出扣除标准
  • 小企业会计准则适用于哪些企业
  • 个体工商户销售自己使用过的物品
  • 购买金蝶软件计入什么费用
  • 电力安装工程合同范本
  • 收据做账税局认嘛
  • 无形资产租赁税率多少
  • 外贸企业代理出口销售业务发生的费用
  • 积分兑换内容
  • 销售折扣账务怎么处理
  • 公司充加油卡发票税额为0 怎么入账
  • 收到员工水电费怎么做账
  • 资产负债表结构是什么
  • 进项发票大过销项,退税只退13个点的增值税吗
  • mac上安装
  • kcleaner.exe是什么
  • php字符串函数有哪些
  • php 字符串函数
  • 支付宝语音提示在哪里打开
  • 一般纳税人差额征税申报表怎么填
  • 提取公益金会计科目
  • 矿产资源补偿费与采矿权价款区别
  • 企业所得税季度申报表A类
  • 头歌HTML基础第一关初识HTML
  • 开发票的零税率和免税有什么区别
  • 魔改6.67
  • react错误处理
  • 本年利润的会计分录有哪些
  • 简易计税办法计算的应纳税额可以抵扣吗
  • 印刷电机特点
  • 主营业务收入登记明细账簿范本
  • mongodb自增主键
  • 个税的免税收入
  • 通货膨胀率怎么求
  • 用于福利费的增值税账务处理
  • 企业所得税季度预缴纳税申报表
  • 单位代个人交社保可以吗
  • 电梯改造税率
  • 如何理解啥意思
  • 公司买房代替房贷合法吗
  • 测试账户收入怎么处理
  • 所有者权益的确认依赖于资产和负债的确认
  • 本期应征增值税销售额是什么意思
  • 展示费是业务宣传费吗
  • 房地产会计科目明细表
  • 依法建账的法是指
  • win7怎么删除win10系统
  • 任务管理器边框怎么设置
  • mac 地址栏
  • win7一直配置
  • win8怎么禁止弹窗
  • iptables -z
  • 如何解决老电脑卡顿问题
  • react用什么ui
  • cocoscreator lua
  • Unity3D游戏开发标准教程吴亚峰于复兴人民邮电出版社
  • python常用的安装扩展
  • 噩梦pv
  • unity检测tag
  • jquery教程chm
  • div怎么求
  • jQuery ajax方法传递中文时出现中文乱码的解决方法
  • 02112366电子税务局
  • 上海市国家税务局地址
  • 社保已经申报成功未缴费在哪交费
  • 辽宁社保网上申报流程图
  • 浅谈新时代劳动教育答案
  • 山西省税务局官网登录
  • 重庆税务自助取票地点
  • 增值税专用发票上传是什么意思
  • 现行会计法律法规汇编2022版
  • 美国网购消费者个人信息保护法
  • 汕头汕尾什么意思
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设