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

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..
...全文
759 16 打赏 收藏 转发到动态 举报
AI 作业
写回复
用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,549

社区成员

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

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