📄 关于数据库连接池.txt
字号:
/*##################################################################**
**# 程序名称:LyBBS『凌云论坛』 #**
**# #**
**# 程序开发: teddy 『星语凌』 #**
**# #**
**# 版权所有: 凌云创作室 (原流星电脑工作室) #**
**# #**
**# 主页地址: http://www.lybbs.net #**
**# 电邮地件: horseye@sina.com #**
**# #**
**##################################################################*/
################### LyBBS 『凌云论坛』的数据库连接池 ########################
前言:因为之前有太多的朋友对数据库连接池存在疑问,所以,这次我们单独弄个说明文档
希望对大家有所帮助。
--------------------------------------------------------------------------------
问题:为什么我使用了连接池以后,连接数非常多?
我们使用了poolman作为数据库连接池的实现类,经过测试,poolman可以有效缓解
数据库的压力、有效管理数据库的连接数,但是,有时因为系统、服务器的差异造
成程序的运作不正常,导致连接数疯狂增长,这是不正常的现象,在最新的2.6.Server
中,我们针对这个问题,对数据库连接池的程序进行彻底优化,令人欣慰的是,目
前的程序已经彻底解决了连接数过多的问题,经过测试,2.6.Server可以把连接数
控制稳定在2个左右。
方案:那么我的数据库连接数肯定存在问题,有什么解决方案?
我们提供三种解决方案:
第一种就是调整数据库连接池的参数,目前,我们在[lybbs_home]\WEB-INF\classes
下面放了个PoolManXML.html,这个文件里相关的连接池参数,你可以参考着
这个文档,然后,修改poolman.xml来调校适合你的数据库连接。
第二种就是使用JavaBean,你可以解开lybbs.jar到[lybbs_home]\WEB-INF\classes
下面,这时候,你进入classes目录,里面会有个com\lyforum\db\mysql目录,
没错,进到目录的最底层,即mysql文件夹,你会发现,有这样几个文件,
DBConnect.class(目前正在使用的连接程序),DBConnect_Pool.class(使用
连接池的DBConnect.class的备份文件),DBConnectException.class、
DBUpdateException.class(两个错误处理程序),剩下就是这里要用的关键文件:
DBConnectInfo.class: 已经编译好的数据库连接信息,如果你使用了默认设置,
就不用重新编译下面的java文件。
DBConnectInfo.java: 打开它,里面有数据库连接信息,如果你没有修改过,你
看到的就是默认信息,如果你的数据库连接跟默认信息一样,
那么恭喜你,你可以少掉一步编译。
DBConnect_JavaBean_NoPool.class: 用JavaBean不用pool的DBConnect的备份程序。
如果DBConnectInfo.java里的信息跟你的数据库连接信息不一样,那么,修改这个
文件,保存,进入dos,用
%JAVA_HOME%\bin\javac -classpath [lybbs_home]\WEB-INF\classes [lybbs_home]\WEB-INF\classes\com\lyforum\db\mysql\DBConnectInfo.java
说明:%JAVA_HOME%是你的jdk目录,比如:D:\server\jdk;
[lybbs_home]是你的lybbs所在的目录,比如:D:\web\lybbs。
这样,你就已经得到一个新的DBConnectInfo.class文件,把DBConnect.class改名
备份(比如改成DBConnect_Pool.class.bak),再把DBConnect_JavaBean_NoPool.class
改名为DBConnect.class,这样,就完成了不用数据库连接池的转换。
第三种是使用lybbs.properties作为配置文件。前面步骤和第二种方案相同,进到mysql文
件夹,里面除了第二种方案介绍的文件外,还有最后一个文件,这就是第三种方案
要用到的。
DBConnect_Props_NoPool.class: 用Props作为配置文件不用pool的DBConnect备份 文件。
把DBConnect.class改名备份(比如改成DBConnect_Pool.class.bak),再把
DBConnect_Props_NoPool.class改名为DBConnect.class,用记事本打开
[lybbs_home]\WEB-INF\classes\lybbs.properties文件,按照你数据库的连接信息
修改里面的配置信息。这样,就完成了第三种方案。
总结:那么这三种方案究竟在什么地方存在着不同?
很简单,第一种方案使用了数据库连接池,可以平衡数据库的负载,而二、三方案都去掉了
数据库连接池的使用。而二、三方案中,第二种方案稍烦,需要编译程序,但经测试,速度
会快于第三方案,而第三种方案不用编译,直接在lybbs.properties里修改配置信息,如果
你的数据库连接信息经常变动,或者你怕麻烦,可以推荐使用。二、三方案的效率都不如第
一方案,只是为了解决数据库连接池的连接数过多而推出的解决方案。
本站意见:如果因为使用连接池而给你带来烦恼且同时在线用户量少于100人,本站推荐你:
可以优先考虑使用第二种方案或第三种方案,如果你更在意速度,请使用第二方案,如果
你更在意便捷,请使用第三方案。
结束:全部做完后,进入[lybbs_home]\WEB-INF\classes可以用jar cvf lybbs.jar com\lyforum\db\mysql\*.class com\lyforum\forum\*.class com\lyforum\forum\admin\*.class com\lyforum\util\*.class com\lyforum\filter\*.class com\lyforum\upload\*.class 重新得到一个jar包,把这个jar包替换掉
[lybbs_home]\WEB-INF\lib\lybbs.jar就OK了。
-----------------------------------------------------------------------------------------
祝...大...家...使...用...愉...快!!
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
http://www.lybbs.net 星语凌『teddy』 凌云创作室
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -