数据库连接数异常增多

      系统突然不稳定,web和数据库cpu和网络资源都正常,发现数据库连接数是平时的5倍左右,初步认为可能是代码部分存在潜在问题,特殊情况下连接不能及时释放,导致连接池默认连接(100个)耗尽。按照以往的案例,进行紧急处理,以快速恢复服务。然而,并未像以前那样恢复服务,连接数瞬间暴增,进一步排查,不存在来自其他服务或者攻击的问题,就怀疑数据库,通过profiler工具跟踪一下,发现和seo_item相关语句执行的持续时间非常长,导致连接占用过长时间不能及时返回(或超时),系统不得不从连接池中申请新的连接,如此下去耗尽连接池连接,由于环境无法调整系统 代码,遂临时优化对应表设计,问题马上解决。

    系统设计中,涉及到数据库的地方,有几点需要注意。

1. sqlconnection要及时释放

2.多线程同步处理块内涉及到sqlconnection时要注意(不及时释放,会导致后续请求积压不能及时处理,web服务有可能过载)

3 sql语句要根据数据库设计进行优化

4 从数据库方面来讲,通过工具及时关注服务状况和跟踪sql执行情况,通过数据库反向找出系统有关数据库操作方面不合理的地方 

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值