`
renjy1123
  • 浏览: 970 次
  • 性别: Icon_minigender_1
  • 来自: 武汉
最近访客 更多访客>>
文章分类
社区版块
存档分类
最新评论
阅读更多
最近公司在做的一个项目是分布式的,分为一个数据库服务器,和多个应用服务,所有的应用服务部署后都共享这一台数据服务器中的数据,所以部署后,每个应用服务都有一个连接池,通过连接池访问数据服务器上数据库中的数据,连接池采用proxool,但现在不稳定,会出现些许异常,有时候下面的某一个应用服务从连接池中获取数据连接connection就会发生这样的异常,我调试调了好久,总不能调好,不知道何原因,
其异常信息是:Prototype com.mysql.jdbc.exceptions.jdbc4.MySQLNonTransientConnectionException: Data source rejected establishment of connection,  message from server: "Too many connections".
请牛人指点指点.下面是我连接池的具体配置:
<?xml version="1.0" encoding="UTF-8"?>
<something-else-entirely>
<proxool>
<alias>BAASPool</alias>
<driver-url>
jdbc:mysql://10.71.136.159:3306/baas?useUnicode=true&amp;characterEncoding=utf8
</driver-url>
<driver-class>com.mysql.jdbc.Driver</driver-class>
<driver-properties>
<property name="user" value="root" />
<property name="password" value="toor" />
</driver-properties>
<minimum-connection-count>20</minimum-connection-count>
<maximum-connection-count>100</maximum-connection-count>
<maximum-active-time>300000</maximum-active-time>
<maximum-connection-lifetime>
10800000
</maximum-connection-lifetime>
<simultaneous-build-throttle>80</simultaneous-build-throttle>
<house-keeping-sleep-time>15000</house-keeping-sleep-time>
<house-keeping-test-sql>
select CURRENT_DATE
</house-keeping-test-sql>
<statistics>1m,15m,1d</statistics>
<statistics-log-level>DEBUG</statistics-log-level>
</proxool>
</something-else-entirely>
分享到:
评论
14 楼 renjy1123 2011-01-22  
chinasb 写道
用完记得要关闭,不然你分到1000还是Too many connections.楼主检查代码吧...

我的代码里面每个连接用完后都调用close()方法了,已经关了,这个我还是很注意的,查了下数据服务器上的连接数:600.我现在加大了,mysql数据库上现在的允许的连接数是2400.现在没报异常了,不知道是不是这个问题引起的,我们还在测试这个异常.
13 楼 renjy1123 2011-01-22  
红枫叶x 写道
renjy1123 写道
最近公司在做的一个项目是分布式的,分为一个数据库服务器,和多个应用服务,所有的应用服务部署后都共享这一台数据服务器中的数据,所以部署后,每个应用服务都有一个连接池,通过连接池访问数据服务器上数据库中的数据,连接池采用proxool,但现在不稳定,会出现些许异常,有时候下面的某一个应用服务从连接池中获取数据连接connection就会发生这样的异常,我调试调了好久,总不能调好,不知道何原因,
其异常信息是:Prototype com.mysql.jdbc.exceptions.jdbc4.MySQLNonTransientConnectionException: Data source rejected establishment of connection,  message from server: "Too many connections".
请牛人指点指点.下面是我连接池的具体配置:
<?xml version="1.0" encoding="UTF-8"?>
<something-else-entirely>
<proxool>
<alias>BAASPool</alias>
<driver-url>
jdbc:mysql://10.71.136.159:3306/baas?useUnicode=true&amp;characterEncoding=utf8
</driver-url>
<driver-class>com.mysql.jdbc.Driver</driver-class>
<driver-properties>
<property name="user" value="root" />
<property name="password" value="toor" />
</driver-properties>
<minimum-connection-count>20</minimum-connection-count>
<maximum-connection-count>100</maximum-connection-count>
<maximum-active-time>300000</maximum-active-time>
<maximum-connection-lifetime>
10800000
</maximum-connection-lifetime>
<simultaneous-build-throttle>80</simultaneous-build-throttle>
<house-keeping-sleep-time>15000</house-keeping-sleep-time>
<house-keeping-test-sql>
select CURRENT_DATE
</house-keeping-test-sql>
<statistics>1m,15m,1d</statistics>
<statistics-log-level>DEBUG</statistics-log-level>
</proxool>
</something-else-entirely>

你多个服务器是做的什么?做的集群吗?

你可以这么理解,但数据服务器只有一个,其它的服务都是从这个数据服务器上获取数据.
12 楼 jackyclein 2011-01-21  
kangsoft 写道
不建议用这个连接池,各方面性能都不是很好


楼上的,请问proxool哪些性能不好呢?想比较而言,您建议用哪个?
不要只说皮毛,不解其里啊!
11 楼 kangsoft 2011-01-20  
不建议用这个连接池,各方面性能都不是很好
10 楼 ka520888 2011-01-20  
顶啊...用完立即关闭..呵呵
9 楼 ka520888 2011-01-20  
对头..楼上的顶....连接池取出来用了立即关闭吧!
8 楼 晨夕0599 2011-01-20  
很明细连接数超了
7 楼 chinasb 2011-01-20  
用完记得要关闭,不然你分到1000还是Too many connections.楼主检查代码吧...
6 楼 zhuanggl 2011-01-19  
message from server: "Too many connections".
这么明显的日志,服务器连接不够用了
5 楼 michael.softtech 2011-01-19  
没用过mysql。不过从我使用Oracle的经验来看最大连接数是有限制的。
我们的Oracle曾经从200调整到500
4 楼 siashuayongsheng 2011-01-19  
<minimum-connection-count>20</minimum-connection-count>
服务器启动的时候就加载20个,太多了,5个就够了,不够的时候再建连接,
3 楼 chnpt 2011-01-18  
maximum-active-time 缺省为 5 分钟, 其含义是一个线程持有一个连接的最长时间,而不管这个连接是否处于 active 状态, 并且如果线程的持有时间超过这个时间的之后会自动清除掉这个连接. 其单位为毫秒(ms).
2 楼 chnpt 2011-01-18  
mysql 默认最大连接数是100,
你的连接池在应用端,每个应用最少20个,最多100个,而且最大活动时间是300000,
所以某个时候会产生mysql确实没有连接可分配。
应用端连接池设置吧,适当减小
1 楼 红枫叶x 2011-01-18  
renjy1123 写道
最近公司在做的一个项目是分布式的,分为一个数据库服务器,和多个应用服务,所有的应用服务部署后都共享这一台数据服务器中的数据,所以部署后,每个应用服务都有一个连接池,通过连接池访问数据服务器上数据库中的数据,连接池采用proxool,但现在不稳定,会出现些许异常,有时候下面的某一个应用服务从连接池中获取数据连接connection就会发生这样的异常,我调试调了好久,总不能调好,不知道何原因,
其异常信息是:Prototype com.mysql.jdbc.exceptions.jdbc4.MySQLNonTransientConnectionException: Data source rejected establishment of connection,  message from server: "Too many connections".
请牛人指点指点.下面是我连接池的具体配置:
<?xml version="1.0" encoding="UTF-8"?>
<something-else-entirely>
<proxool>
<alias>BAASPool</alias>
<driver-url>
jdbc:mysql://10.71.136.159:3306/baas?useUnicode=true&amp;characterEncoding=utf8
</driver-url>
<driver-class>com.mysql.jdbc.Driver</driver-class>
<driver-properties>
<property name="user" value="root" />
<property name="password" value="toor" />
</driver-properties>
<minimum-connection-count>20</minimum-connection-count>
<maximum-connection-count>100</maximum-connection-count>
<maximum-active-time>300000</maximum-active-time>
<maximum-connection-lifetime>
10800000
</maximum-connection-lifetime>
<simultaneous-build-throttle>80</simultaneous-build-throttle>
<house-keeping-sleep-time>15000</house-keeping-sleep-time>
<house-keeping-test-sql>
select CURRENT_DATE
</house-keeping-test-sql>
<statistics>1m,15m,1d</statistics>
<statistics-log-level>DEBUG</statistics-log-level>
</proxool>
</something-else-entirely>

你多个服务器是做的什么?做的集群吗?

相关推荐

Global site tag (gtag.js) - Google Analytics