Redian新闻
>
Database Pooling 的问题
avatar
Database Pooling 的问题# Java - 爪哇娇娃
m*e
1
现在有一个JSP写的网站,经常访问Database,所以用一个Pool管理大约30个Connection
。每个要用数据库的程序,从Pool取一个Connection,操作完毕后立即释放回Pool里。
当出现异常情况时,可能会发生Connection没有被释放,这样日积月累,一旦所有的Conn
ection都被用光则网站就无法正常运行了。这种情况现在大约每星期发生一两次。由于使
用数据库的程序很多,需要很麻烦的研究究竟哪个出了问题没有释放。
现在提出一个简便的方案,不知道是否可行,请大家参谋参谋。在管理Pool程序中,每次
被访问时,检查一下当前Connection的总数,如果接近用光了,则立即释放所有Connecti
on。我猜想只有极少数情况用户的正常访问被中断,而且用户重试一次即可恢复正常。这
个作为现在的应急方案,争取足够的时间DEBUG其它程序。
大家看这是否可行????
avatar
g*g
2
Use a script to do it daily in midnight, I think fewer users will complain.

【在 m*****e 的大作中提到】
: 现在有一个JSP写的网站,经常访问Database,所以用一个Pool管理大约30个Connection
: 。每个要用数据库的程序,从Pool取一个Connection,操作完毕后立即释放回Pool里。
: 当出现异常情况时,可能会发生Connection没有被释放,这样日积月累,一旦所有的Conn
: ection都被用光则网站就无法正常运行了。这种情况现在大约每星期发生一两次。由于使
: 用数据库的程序很多,需要很麻烦的研究究竟哪个出了问题没有释放。
: 现在提出一个简便的方案,不知道是否可行,请大家参谋参谋。在管理Pool程序中,每次
: 被访问时,检查一下当前Connection的总数,如果接近用光了,则立即释放所有Connecti
: on。我猜想只有极少数情况用户的正常访问被中断,而且用户重试一次即可恢复正常。这
: 个作为现在的应急方案,争取足够的时间DEBUG其它程序。
: 大家看这是否可行????

avatar
m*t
3

How about keeping track of how long a connection has been held,
and only release the connections that have been held for too long.
In normal cases, db operations are finished in a very short period -
normal in seconds. So if your pool forces to release any connection
that has been held for longer than a day, that's a pretty safe
threshold.

【在 m*****e 的大作中提到】
: 现在有一个JSP写的网站,经常访问Database,所以用一个Pool管理大约30个Connection
: 。每个要用数据库的程序,从Pool取一个Connection,操作完毕后立即释放回Pool里。
: 当出现异常情况时,可能会发生Connection没有被释放,这样日积月累,一旦所有的Conn
: ection都被用光则网站就无法正常运行了。这种情况现在大约每星期发生一两次。由于使
: 用数据库的程序很多,需要很麻烦的研究究竟哪个出了问题没有释放。
: 现在提出一个简便的方案,不知道是否可行,请大家参谋参谋。在管理Pool程序中,每次
: 被访问时,检查一下当前Connection的总数,如果接近用光了,则立即释放所有Connecti
: on。我猜想只有极少数情况用户的正常访问被中断,而且用户重试一次即可恢复正常。这
: 个作为现在的应急方案,争取足够的时间DEBUG其它程序。
: 大家看这是否可行????

avatar
xt
4
哪个混蛋写的这种程序?先fire掉.
avatar
m*t
5

seems they haven't even figured out which program caused the
leak, let alone who wrote it. 8-)

【在 xt 的大作中提到】
: 哪个混蛋写的这种程序?先fire掉.
相关阅读
logo
联系我们隐私协议©2024 redian.news
Redian新闻
Redian.news刊载任何文章,不代表同意其说法或描述,仅为提供更多信息,也不构成任何建议。文章信息的合法性及真实性由其作者负责,与Redian.news及其运营公司无关。欢迎投稿,如发现稿件侵权,或作者不愿在本网发表文章,请版权拥有者通知本网处理。