记weblogic 连接池满无法链接故障诊断过程

前段时间公司负责建行的一个票据系统在,上线前几个分行试运行环境下,每天后台日志都会报oracle.jdbc.xa.OracleXAException,前台无法正常访问
 
通过使用weblogic的测试数据库链接,弹出无法链接提示信息,但是发现连接池使用才10个,而最大连接数60个,监控分析没有发现连接数使用满的迹象。

那个时候我们公司的老总以及客户方项目领导非常着急,都忙着找人帮忙解决,客户方也请了他们建行自己的高手过来解决,我们公司老总也打电话四处咨询
    
寻求解决方案,因为我是做性能测试的也被叫过去帮忙查看问题,第一天早上问题出现后,我第一反映就是重新设置连接数,设置最小值最大值80,然后重新清除下

JDBC缓存,那天是没发生问题了,但是第二天问题又重现了,客户方技术人员把连接数减少到60,然后设置不使用 Supports Global Transactions,那天下午

问题没在复现,项目组人员都安心了以为问题解决了。只是那时我心里纳闷了,感觉这个不能解决问题,但是当天下午没复现问题我也不能说什么,只能继续低头

查看分析日志,如果不出现说明人家是对的,也说明我的经验不足,但是万一在出现还得在找解决方案,毕竟这是我们公司负责的项目,万一真实生产环境一运行

每天都这样出问题,那这个系统就算是废了。所以还是低头继续分析问题。
 
    果然第三天问题还是出现,客户方、公司领导真的都着火了,继续打电话咨询高手,有人提出数据库连接数不足,需要设置大一些,然后重启数据库,
   
那天我还是没找出问题点,但是客户方要求根据那个高手建议去调整,我只是提了下说这样应该没效果,因为功能测试环境、性能测试环境同样配置都没出问题应该

不是这个问题,但是在这个时间段谁听啊,能解决问题就行,都是死马当活马医了。不过我当时也没想出解决方案,只能静观其变了。就这样那天下午问题没重现

在第四天早上过来时,项目组的人都在开心的认为问题解决了,可惜的事情还是发现了,第四天早上11点多的时候,突然我同事给我打电话说问题重现了。该怎么办

那时我刚好在开会,开完会回来,我重新看了下错误日志,还是报“oracle.jdbc.xa.OracleXAException” 同样的错误信息,于是我好奇的问了下,你们JDBC
    连接数是不是一开始设置错误,然后重新设置过,因为我发现使用的JDBC驱动跟报的错误提示信息不一样,那个集成配置人员说是有配置错误过,重新选择
    Database Driver ,这下我大概明白问题点了,我建议重新删除数据源重新配置一次性配置正确,一开始项目组领导还真不信,觉得这不能解决此问题。
   
  只能说我人微言轻,他们不信是正常的,一个做性能测试的哪能解决这种故障,而且请了很多资深高手都没得以解决。我看出他们的心思,就笑了笑说
 
  这是BEA官方说的,其实哪有什么官方,看都没看过,上班又不能上网,哪能去看什么官方文档,说不定官方文档也没这个问题记录呢。
 
  谁知,我一说是官方文档说的,而且加以他们实在找不出解决方案了,迫不得已,接受我的意见。
 
  就这样我着急的等了第五天的来临,第五天到下午问题还没出现,我走去问 了下领导说,今天没出现那个问题吧,领导回答很干脆是没出现,但是是因为这个项目
  周五没人用所以不会出现,我只能伪笑了回答哦,起始这个问题跟是否有人使用关系不大,就是配置错误,但是一下子说不出具体理由过来,说实话我那时
  也没说服力,反正很多时候我去解决不同项目的故障问题,很多都是凭感觉的虽然到现在每次都蒙对,但是很多都是凭直觉来做的。就这样等了几天问题没出现了。
 
  说明我的推理正确,这个项目的领导很淡定,我们公司的领导也很淡定,解决后没跟我说啥,就当没事发生,o(∩_∩)o 哈哈 ,我也跟着淡定。反正这些年解决了
  很多建行项目多年没解决的故障问题,很多领导都感觉很淡定是应该的。习惯就好,反正对我来说又积累一次故障诊断经验就行。

性能测试——记weblogic 连接池满无法链接故障诊断过程的更多相关文章

  1. 关于Weblogic连接池的TestConnectionOnReserve

        由于最近某客户的系统性能比较差,所以今天又上去跟踪了一下.看了一下Default Data Cache,发现已经从10G调整到了20G,所以可以确定应该是客户的管理员已经将双机从低配置的机器切 ...

  2. weblogic连接池过小导致TPS呈周期性跳坑现象

    利用晚上时间跑个12小时稳定性,第二天发现TPS曲线图成了这个样子. 排查步骤: 1.观察TPS图发现,几乎每两个小时TPS掉一次坑,是周期性的,而且TPS有掉到0的现象.LR上也有失败的交易,猜想是 ...

  3. weblogic连接池问题总结(转载)

    转自:某局Weblogic 连接池问题(现场报告)(Connection has been administratively disabled. Try later.) 目录 1. 概述 3 1.1 ...

  4. weblogic连接池

    1.在 使用JDBC连接池的过程中,最常见的一个问题就是连接池泄漏问题.一个池里面的资源是有限的,应用用完之后应该还回到池中,否则池中的资源会被耗尽. WebLogic Server提供了一个Inac ...

  5. 帆软报表FineReport中数据连接的JDBC连接池属性问题

    连接池原理 在帆软报表FineReport中,连接池主要由三部分组成:连接池的建立.连接池中连接使用的治理.连接池的关闭.下面就着重讨论这三部分及连接池的配置问题. 1. 连接池原理 连接池技术的核心 ...

  6. DBCP连接池使用问题

    问题现象: 启动应用,访问无压力,一切正常,一段时间过后,应用访问异常. 问题分析: 1.web容器线程爆满,拒绝服务.由于应用并发量大,线程响应时间长增加,线程池连接数逐步递增直到爆满,导致应用拒绝 ...

  7. 连接池 DBCP c3p0以及分页的案例

    1. 连接池 思考: 程序中连接如何管理? 连接资源宝贵:需要对连接管理 连接: a) 操作数据库,创建连接 b) 操作结束,  关闭! 分析: 涉及频繁的连接的打开.关闭,影响程序的运行效率! 连接 ...

  8. redis连接池的使用方法

    所需jar:jedis-2.8.0.jar和commons-pool-2-2.3jar Jedis操作步骤如下:1->获取Jedis实例需要从JedisPool中获取:2->用完Jedis ...

  9. JDBC、DBCP、C3P0、jdbc-pool--链接方式?连接池?

    连接方式: java连接数据库的四种方式 - Cece_2012的专栏 - CSDN博客http://blog.csdn.net/cece_2012/article/details/7485482 J ...

随机推荐

  1. 2019.10.29 CSP%您赛第四场t2

    我太菜了我竟然不会分层图最短路 ____________________________________________________________________________________ ...

  2. MySQL基础篇(2)数据类型

    MySQL提供了多种数据类型,主要包括数值型.字符串类型.日期和时间类型. 1.数值类型 整数类型:TINYINT(1字节).SMALLINT(2字节).MEDIUMINT(3字节).INT(INTE ...

  3. 设计模式(三)Template Method模式

    在父类中定义处理流程的框架,在子类中实现具体处理的模式就称为Template Method模式即模板方法模式. 根据下面的示例程序理解模板方法模式. package BigJunOba.bjtu.Te ...

  4. vue-route动态路由

    配置子路由: 路由的视图都需要使用view-router 子路由也可以嵌套路由使用: children来做嵌套如上图 使用location.页面name就可以做页面跳转 mounted:挂载,延迟跳转 ...

  5. Scrapy 实现爬取多页数据 + 多层url数据爬取

    项目需求:爬取https://www.4567tv.tv/frim/index1.html网站前三页的电影名称和电影的导演名称 项目分析:电影名称在初次发的url返回的response中可以获取,可以 ...

  6. C# 计时周期数(Ticks)在不同数据库上的实现

    要在数据库中实现 DateTime.Ticks,先来看看 Ticks 在微软官方文档上的定义: 注解 一个计时周期表示一百纳秒,即一千万分之一秒. 毫秒内有 , 个计时周期,即 秒内有 , 万个计时周 ...

  7. gym102302E_Chi's performance

    题意 给n个二元组(v,p),要求排序使得v从小到大,而且总价值最大,价值定义为相邻两个v值不同的p值之差绝对值之和. 分析 in a row原来是相邻的意思. 对于每个相同v值的块来说,有用的数只有 ...

  8. 转:XSS和CSRF原理及防范

    原文地址:http://www.freebuf.com/articles/web/39234.html 随着Web2.0.社交网络.微博等等一系列新型的互联网产品的诞生,基于Web环境的互联网应用越来 ...

  9. 学习笔记49_Redis

    Redis和memcache区别: 1 . mm是通过客户端驱动实现集群化,Redis是通过服务器配置文件集群 2. redis是可以进行持久化的存储 3. redis提供高级的数据结构,队列,栈都提 ...

  10. Spring Boot实战之定制type Formatters

    本文首发于个人网站:Spring Boot实战之定制type Formatters 前面我们有篇文章介绍了PropertyEditors,是用来将文本类型转换成指定的Java类型,不过,考虑到Prop ...