当前位置: 首页 > news >正文

佛山品牌网站建设wordpress __()

佛山品牌网站建设,wordpress __(),建筑人才网职位邀约是什么意思,自己建设网站怎么盈利背景客户反馈系统突然从11:10开始运行非常缓慢#xff0c;在SQL专家云中看到大量的产生阻塞的活动会话#xff0c;KILL掉阻塞的源头马上又出现新的源头#xff0c;实在没有办法只能重启应用程序断开所有数据库连接才解决#xff0c;请我们协助分析根本的原因。现象登录SQL专…背景客户反馈系统突然从11:10开始运行非常缓慢在SQL专家云中看到大量的产生阻塞的活动会话KILL掉阻塞的源头马上又出现新的源头实在没有办法只能重启应用程序断开所有数据库连接才解决请我们协助分析根本的原因。现象登录SQL专家云进入趋势分析页面下钻到11点钟内一个小时的数据看到从11:12开始出现阻塞越来越严重。进入活动会话原始数据页面看到不同时间点的阻塞源头会话是不同的但都是同一类的现象阻塞源头会话的状态是sleeping被阻塞的会话都在对同一个表执行UPDATE语句。分析状态为sleeping代表当前会话没有执行SQL请求之所以造成阻塞是因为会话以前开启了一个或多个事务 在事务中修改了一个或多个表的数据会话对这些修改的数据行持有排他锁从而阻塞其他会话对该表的操作。如果这种状态持续很长时间很有可能是前端应用程序出现了异常并且没有健壮的异常处理机制出错后没有回滚以前打开的事务并关闭连接导致阻塞一直存在。 前端应用程序出错原因主要有两种一种是执行SQL语句时被阻塞等原因导致执行时间长并产生超时一种是执行非数据库访问逻辑时因为某些原因出错了例如转换数据类型失败、接收数据量太大导致内存溢出、访问别的接口报错等。本着这个经验对这些sleeping的会话进行回溯发现这些会话在sleeping之前都曾经被阻塞过很长时间根据慢语句的特征判断是执行超时了。而且这些会话都存在打开的事务事务开始时间都在执行语句超时的时间之前。通过对存储过程进行分析发现里面在用TRY CATCH的方式处理事务因此推断该方式无法捕获应用程序端的超时错误导致事务和连接的泄露因为存储过程比较复杂下面用一个测试来模拟。测试首先创建一个存储过程逻辑为先开始事务然后依次对两个表进行UPDATE通过TRY CATCH的方法处理事务。CREATE PROCEDURE dbo.usp_test AS BEGIN TRAN BEGIN TRY UPDATE dbo.Table_2 WITH(ROWLOCK) SET a wangUPDATE dbo.Table_1 WITH(ROWLOCK) SET a wangEND TRY BEGIN CATCH IF ERROR 0 BEGIN GOTO succeed END ELSE BEGIN GOTO error END END CATCHsucceed: COMMIT TRAN RETURN 1 error: ROLLBACK TRAN RETURN 0 新建一个查询开始一个事务然后执行UPDATE Table_1不提交或者回滚事务对表Table_1的排他锁一直存在 用来模拟对表Table_1的锁定。新建另一个查询注意执行超时值设置为30秒默认是0代表永不超时。这个新建立的会话ID是56。执行存储过程usp_test。updat dbo.Table_2很快执行完在执行updat dbo.Table_1时产生阻塞等待30秒后出现超时的报错。新建一个查询查看会话56的事务信息可以看到存在一个打开的事务。再通过sys.dm_tran_locks可以看到会话56还保持着对表Table_2和Table_1的意向排他锁以及Table_2上更改的两行数据的排他锁。此时在其他会话中对Table_2执行查询和修改都被会话56阻塞。总结“超时”错误是应用程序端的异常数据库驱动程序执行SQL语句时等待服务器端的响应等待时间达到设置的阈值后发送一个终止执行的信号给服务器端并向上层应用程序抛出异常。服务器端接收到该信号后终止语句的执行并不会报错TRY CATCH是无法捕获的因此无法执行到SUCCEED处的COMMIT或者ERROR处的ROLLBACK导致了事务的泄露该事务中的对表Table_2的排他锁一直持有其他会话对表Table_2的操作会被阻塞直到杀掉该会话。解决对于这类问题根本的解决方法是修改应用程序增加对于执行异常的捕获检查是否存在事务并回滚然后关闭数据库连接。但是很多客户是购买软件厂商的产品修改程序不容易实现或者周期很长。因此只能在数据库端进行补偿性的措施就是配置一个自动查杀会话的作业根据sleeping会话的特征定期KILL掉。也可以在SQL专家云中启用自动查杀会话的功能。
http://www.laogonggong.com/news/108301.html

相关文章:

  • 如何优化网站关键词排名wordpress入门建站教程
  • seo网站推广电话业务推广方案怎么写
  • 息壤网站打不开了正规接单网站
  • 企业网站的作用抖音代运营是干嘛的
  • 平度168网站建设嘉兴公司的网站设计
  • 个人网站建设作用海南响应式网页建设找哪家
  • 大连博硕网站建设该网站使用的安全设置
  • 怎么做vip网站安卓系统开发者
  • 网站定制公司排行榜ps做汽车网站下载地址
  • 亿赐客网站怎么样软件开发相关文档
  • 郑州建网站371现在什么网络推广好
  • 网站接入银联支付怎么做淘宝网站制作公司哪家好
  • 网站开发需要用到哪些设备软件开发模型有哪些
  • 天津最好网站建设公司网店如何引流与推广
  • 网站开发实训家装公司需要什么条件
  • 河南那家公司做家具行业网站好胶州网站建设规划
  • 网站后台组成edu网站开发
  • 河南艾特 网站建设公司wordpress网站收录插件
  • 做网站带阿里云服务器多少钱西风seo
  • 东莞网站设计定制开发企业管理咨询服务公司
  • 网络编程和网站建设联系网站设计排行榜
  • 网络营销网站建设方案自己做网站怎么租服务器
  • 西安网站建设需要多少钱珠海企业网站设计
  • php做网站教程域名注册网站搭建
  • google 空间 网站软件二次开发
  • 徐州网站制作方案做阿里巴巴网站的电话号码
  • 知名电子商务网站中企动力公司待遇怎么样
  • 北京微信网站搭建费用网站效果展示
  • 苏州市网站建设公司企业做网站哪家便宜
  • 建设网站的工作一家专做灯的网站招聘