详情页标题前

阿里云RDS数据库锁阻塞-云淘科技

详情页1

本文介绍如何通过阻塞统计页面快速定位造成长时间阻塞的会话及其详细信息。

前提条件

  • 实例的存储类型为云盘。

  • 实例不能是RDS SQL Server 2008 R2云盘版。

背景信息

在SQL Server中,为了保持数据的一致性,当某个会话对特定资源进行修改时,系统会对该资源加锁,避免其他并发会话对同个资源进行访问或修改。正常情况下,该锁的持续时间较短,修改结束后即会被释放,以允许下一个会话继续访问该资源。但是当存在慢SQL或者其他异常时,可能会导致资源被长时间锁定,严重影响性能。

为解决上述问题,RDS提供了锁阻塞统计页面。通过查看该页面,可快速定位到阻塞源的SPID(会话ID)、阻塞发生的时间、引发阻塞的SQL语句等信息,便于精准定位问题。

采样原理

通常,单个会话阻塞2秒左右不会有太大问题,但短期内连续出现多个会话阻塞超过2秒的情况就会对整个系统产生显著影响。

系统每10秒会对锁阻塞的情况进行一次采样,在系统进行采样的时间点,只要当一个会话执行SQL时间超过2秒、并且阻塞了其他会话的执行,就会被捕捉并统计到锁阻塞统计页面。

操作步骤

  1. 访问RDS实例列表,在上方选择地域,然后单击目标实例ID。
  2. 在左侧导航栏,选择自治服务 > 锁优化

  3. 单击锁阻塞(preview)页签,即可查询实例中的阻塞详情。

页面介绍

  • 阻塞数量概览

    可分时段查看到近期产生的阻塞数量。

    阿里云RDS数据库锁阻塞-云淘科技

  • 阻塞时长趋势图

    以阻塞持续的时长为基准,展示某个时间段内阻塞时长的变化趋势。

    将鼠标移动到特定的时间点,可查询该时间点阻塞发生的详情。包含如下内容:

    • 阻塞发生的时间。

    • Processes_blocked:被阻塞的会话数量。

    • Uncommited_tran:未被提交的事务数量。

      说明

      锁不被释放的原因,即事务未被提交。

    • QueryHash(特定SQL语句的Hash值)和对应阻塞时间。

    阿里云RDS数据库锁阻塞-云淘科技

  • 阻塞源详细信息

    展示阻塞源的详细信息,包含如下内容:

    • Spid:阻塞源的会话ID。

    • QueryHash:将SQL语句进行Hash之后得出的值,同一种SQL对应同一个QueryHash。

    • 等待类型:展示当前等待中的会话被阻塞的原因。更多等待类型及说明,请参见等待类型。

    • 执行时间(ms):会话持续执行的时长。

    • SQL:导致阻塞发生的SQL语句。

      说明

      将鼠标移动到SQL语句上,在SQL语句的右边会出现阿里云RDS数据库锁阻塞-云淘科技图标,单击该图标即可复制该SQL语句。

    • 时间:阻塞发生的时间。

    • 数据库名:发生阻塞的数据库名称。

    阿里云RDS数据库锁阻塞-云淘科技

    单击某一行的任意位置,可在页面下方查看该行对应的阻塞关系图。

  • 阻塞关系图

    展示阻塞的会话ID(红色)和被阻塞的会话ID(蓝色),以及锁的类型和阻塞的时长。更多锁类型及说明,请参见锁类型。

    阿里云RDS数据库锁阻塞-云淘科技

    将鼠标移动到会话ID上可以查看阻塞详情,包含如下内容:

    • SPID:会话ID。

    • BlockedBySpid:阻塞中的会话ID。

    • WaitType:等待类型。

    • WaitTimeMs:阻塞时长。单位:ms。

    • CMD:当前会话的SQL命令类型。

    • CPU:CPU时间。单位:ms。

    • DBName:数据库名称。

    • ClientAppName:客户端名称。

    • HostName:客户端主机名称。

    • LoginId:登录用户名。

    • PhysicalIO:当前会话执行SQL消耗的I/O。1个PhysicalIO=8KB。

    • QueryHash:将SQL语句进行Hash之后得出的值,同一种SQL对应同一个QueryHash。

    • StartTime:当前Batch开始执行的时间。一个Batch中可以包含多个SQL,共享变量值等资源。

    • Status:当前实例状态。

    • SQL:单击红色或蓝色的会话ID,会在阻塞关系图下方显示SQL的执行详情。

  • SQL详情

    在阻塞关系图中,单击红色或蓝色的会话ID,便会显示会话的SQL执行详情,单击下方的点击复制可快速复制SQL语句,方便排查或回溯有问题SQL。

内容没看懂? 不太想学习?想快速解决? 有偿解决: 联系专家

阿里云企业补贴进行中: 马上申请

腾讯云限时活动1折起,即将结束: 马上收藏

同尘科技为腾讯云授权服务中心。

购买腾讯云产品享受折上折,更有现金返利:同意关联,立享优惠

转转请注明出处:https://www.yunxiaoer.com/155162.html

(0)
上一篇 2023年12月9日 下午7:26
下一篇 2023年12月9日 下午7:26
详情页2

相关推荐

  • 在PolarDB中,执行多条写入sql,一条失败了进行事务回滚,但没回滚成功,想查下回滚是不是报错了-云小二-阿里云

    在PolarDB中,执行多条写入sql,一条失败了进行事务回滚,但没回滚成功,想查下回滚是不是报错了?业务代码是没有报错的 以下为热心网友提供的参考意见 在PolarDB中,您可以使用SQL查询语句来查看事务执行情况。具体来说,您可以使用以下SQL查询语句来查看PolarDB的事务执行情况: SELECT * FROM sys.transactions; 这…

    阿里云 2024年1月2日
  • 阿里云人工智能平台PAI创建集群-云淘科技

    本文为您介绍如何创建灵骏集群。 步骤一:创建集群分组 操作步骤 登录智能计算灵骏控制台。 在左侧导航栏,选择资源与节点> 集群管理。 单击一键创建集群,进入创建托管云集群页面。 单击基础灵骏集群服务卡片。 在集群信息区域,输入集群名称、节点的root密码、资源组等信息。 说明 集群名称由数字、英文字符、短划线(-)或下划线(_)组成,长度范围1~63个…

    2023年12月10日
  • 信息流广告,信息流部分建议宽度830px,只针对默认列表样式,顺序随机
  • 阿里云日志服务SLS时间表达式语法-云淘科技

    您在创建定时SQL任务时,可指定SQL时间窗口。定时SQL任务运行时,日志服务仅分析该SQL时间窗口内的日志。本文介绍SQL时间窗口相关的时间表达式语法。 操作符 时间表达式支持的操作符如下表所示: 操作符 说明 + 加号 – 减号 @ 取整操作符,根据时间向下取整。例如以小时为单位对时间01:40进行取整,取整后为01:00。 时间表达式的计算…

    阿里云日志服务SLS 2023年12月10日
  • 阿里云RDS数据库授权服务账号-云淘科技

    当您寻求阿里云的技术支持时,如果技术支持过程中需要对您的数据库实例进行操作,您需要对服务账号授权,技术支持人员才可以通过服务账号提供技术支持服务。在授权有效期结束后,临时服务账号会被自动删除。 前提条件 实例版本为SQL Server 2008 R2(本地SSD盘)。 授权操作 访问RDS实例列表,在上方选择地域,然后单击目标实例ID。 在左侧导航栏单击账号…

    阿里云数据库 2023年12月9日
  • 阿里云ECS云服务器DescribeInstances-云淘科技

    调用DescribeInstances查询一台或多台ECS实例的详细信息。 接口说明 请求参数的作用类似于一个过滤器,过滤器为逻辑与(AND)关系。如果某一参数为空,则过滤器不起作用。但是参数InstanceIds如果是一个空JSON数组,则视为该过滤器有效,且返回空。 如果您使用的是RAM用户账号或者RAM角色,当用户或者角色缺乏接口权限时,将会返回空列表…

    阿里云服务器 2023年12月9日

联系我们

400-800-8888

在线咨询: QQ交谈

邮件:admin@example.com

工作时间:周一至周五,9:30-18:30,节假日休息

关注微信
本站为广大会员提供阿里云、腾讯云、华为云、百度云等一线大厂的购买,续费优惠,保证底价,买贵退差。