服务器压力过大的情况下,生产服务器经常报数据库连接池错误,怎么解决呢?

ppyep 2015-07-09 11:41:06

服务器压力过大的情况下,生产服务器经常报数据库连接池错误,怎么解决呢?以下是异常信息
org.springframework.transaction.CannotCreateTransactionException: Could not open JDBC Connection for transaction; nested exception is weblogic.jdbc.extensions.PoolLimitSQLException: weblogic.common.resourcepool.ResourceLimitException: No resources currently available in pool sxgs_wssjnwdb_ds to allocate to applications, please increase the size of the pool and retry..; nested exception is weblogic.jdbc.extensions.PoolLimitSQLException: weblogic.common.resourcepool.ResourceLimitException: No resources currently available in pool sxgs_wssjnwdb_ds to allocate to applications, please increase the size of the pool and retry..
...全文
717 16 打赏 收藏 转发到动态 举报
写回复
用AI写文章
16 条回复
切换为时间正序
请发表友善的回复…
发表回复
酷酷小鱼 2015-07-26
  • 打赏
  • 举报
回复
增加最大连接数配置,同时确保程序代码中的connection用完后正确关闭。如果这些还不行,那就只能增加服务器,做负载均衡了。
加油馒头 2015-07-16
  • 打赏
  • 举报
回复
检查代码,确认有没有正常关闭。。
二十亩鱼 2015-07-15
  • 打赏
  • 举报
回复
LZ想的太简单了,阐述清楚,再讨论吧
  • 打赏
  • 举报
回复
引用 12 楼 tangyanbo1110 的回复:
楼主给的信息太少,分析个毛线,楼上各位都辛苦了,乱猜,乱给建议 1.首先检查数据库给出的连接是多少,这和连接池大小没有毛线关系, 2.然后你压力大到什么程度啊,不能量化吗,都做了什么主要操作啊, 3.你程序怎么部署的啊,每个程序用连接池了吗,连接池配置都是怎样的啊 4.到底有没有连接没有关闭,这个也是能检查出来啊, 一般情况下,不需要分库分表,都没分析,说个毛线
略屌.... 负载均衡....听说过,都没弄过
风过无痕1110 2015-07-14
  • 打赏
  • 举报
回复
楼主给的信息太少,分析个毛线,楼上各位都辛苦了,乱猜,乱给建议 1.首先检查数据库给出的连接是多少,这和连接池大小没有毛线关系, 2.然后你压力大到什么程度啊,不能量化吗,都做了什么主要操作啊, 3.你程序怎么部署的啊,每个程序用连接池了吗,连接池配置都是怎样的啊 4.到底有没有连接没有关闭,这个也是能检查出来啊, 一般情况下,不需要分库分表,都没分析,说个毛线
onemy 2015-07-13
  • 打赏
  • 举报
回复
1、从表象上是连接数不够了,可以试着调大 2、查询程序是否有长事务操作占用了过多的连接 3、采用服务化,避免过多的应用服务器产生太多连接 4、数据库垂直拆分、再水平拆分 ------------------------------------------------- www.onemy.cn
baidu_27210709 2015-07-11
  • 打赏
  • 举报
回复
最大链接数改一下
lovelystone 2015-07-11
  • 打赏
  • 举报
回复
从日志看,数据库连接数已超过连接池最大上限了,可以从以下两个方面来分析: 1.检查当前数据库连接池的最大上限是多少,是否过小,如果过小则需要调大。 2.是否因未正常关闭数据库连接,导致数据库连接越来越多,直到超过连接池上限。
梦想总会成真 2015-07-10
  • 打赏
  • 举报
回复
数据源写在spring配置文件中的话可以指定增长到限量之后如何增大数据库连接数量,如果配在console中如楼上,另外检查代码有没有类似datasource.getConnection的情况,这种spring不会把这个连接换回去的
scmod 2015-07-10
  • 打赏
  • 举报
回复
加大点连接数,或者是看看空闲断开时间能不能改小点.... 不会...路过凑个热闹~~
鸣鸣Amadues 2015-07-10
  • 打赏
  • 举报
回复
引用 4 楼 Inhibitory 的回复:
1. please increase the size of the pool and retry.. 增加最大连接个数看看能不能解决问题,估计比较悬 2. 如果 1 搞不定,那只能在增加服务器的数量了,这个有可能简单,有可能复杂,如果开始设计时考虑了Cluster,增加服务器数量很简单,如果不支持,那么需要改设计和程序了
我记得好像有些数据库增加最大连接数要付费的? 关于你说的Cluster,数据库是共享资源吧,光增加服务器怎么解决连接数不够的情况?
聪头 2015-07-10
  • 打赏
  • 举报
回复
适当调大最大连接数量,初始化时候数量也加大
Inhibitory 2015-07-10
  • 打赏
  • 举报
回复
1. please increase the size of the pool and retry.. 增加最大连接个数看看能不能解决问题,估计比较悬 2. 如果 1 搞不定,那只能在增加服务器的数量了,这个有可能简单,有可能复杂,如果开始设计时考虑了Cluster,增加服务器数量很简单,如果不支持,那么需要改设计和程序了
Inhibitory 2015-07-10
  • 打赏
  • 举报
回复
引用 6 楼 Raffin 的回复:
[quote=引用 4 楼 Inhibitory 的回复:] 1. please increase the size of the pool and retry.. 增加最大连接个数看看能不能解决问题,估计比较悬 2. 如果 1 搞不定,那只能在增加服务器的数量了,这个有可能简单,有可能复杂,如果开始设计时考虑了Cluster,增加服务器数量很简单,如果不支持,那么需要改设计和程序了
我记得好像有些数据库增加最大连接数要付费的? 关于你说的Cluster,数据库是共享资源吧,光增加服务器怎么解决连接数不够的情况? [/quote] 数据库一般都是共享的,你以前每个服务器支持100个连接,现在由10个服务器,每个支持100个链接,总共不就有1000个连接可用了?
鸣鸣Amadues 2015-07-09
  • 打赏
  • 举报
回复
要看瓶颈出在哪里的,它提示please increase the size of the pool and retry.. 也许你只是把最大连接数调大就行了
枫醉秋 2015-07-09
  • 打赏
  • 举报
回复
做个负载均衡

67,515

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧