proxool与tomcat DBCP连接池性能评测
proxool与tomcat DBCP连接池性能评测
proxool与tomcat DBCP连接池性能评测
这次测试只是自己的兴趣,自认为还比较科学,欢迎指正。
测试条件:
写了两个JSP页面,一个用的proxool连接池,另一个用的tomcat DBCP连接池。
这两个页都执行一样的工作,就是循环100次,每次从mysql里select 一列数据显示在页面上,这一列是20个string。
每次循环都要重新连接数据库。
测试环境:
用Webserver Stress Tool 7.1 模拟10个用户随机访问这两个页。本机tomcat测试。持续一分钟。
初始参数:
proxool的参数:<maximum-connection-count>100</maximum-connection-count>
<minimum-connection-count>5</minimum-connection-count>
<maximum-active-time>60000</maximum-active-time>DBCP的参数:
removeAbandoned="true" removeAbandonedTimeout="60" logAbandoned="true"
maxActive="100" maxIdle="30" maxWait="10000"
1、初始测试
测试开始后,CPU很快到100%,然后有一些随机波动。
结果如图:
上图反应的是访问这两个页面时的反馈时间:
绿色-proxool
红色-tomcat DBCP
在前面默认的参数下,测试一开始,DBCP要比proxool反应快很多,但10秒钟之后,两者就差不多了。
2、调整参数
现在,我把proxool的<minimum-connection-count>的值调到15,再测,结果如下:
这时proxool和DBCP已经不分高下。
3、再次调整
我再把proxool的<minimum-connection-count>的值调到25,结果如下:
这时,proxool对开始时的突然大访问量已经能够比DBCP更好的处理了。
结论:
proxool和tomcat DBCP都是很成熟的连接池,在访问量稳定之后两者性能不相上下。
而突发的大访问量也是可以通过调整参数来很好的处理的。
但考虑到proxool有即时监控连接池状态的功能,而且代码更方便写,还是推荐使用proxool
poolman 2.1 b1
这是poolman停止前的最后版本。
下载:
http://sourceforge.net/projects/poolman
jakarta的commons中的dbcp