一:介绍 小蜜蜂池:一款高性能JDBC连接池
二:特点
1:性能好:高于光连接池
2:代码少:21个文件,2600行源码
三:版本下载
Java7
<dependency> <groupId>com.github.chris2018998</groupId> <artifactId>BeeCP</artifactId> <version>2.0.0</version> </dependency>
Java6
<dependency> <groupId>com.github.chris2018998</groupId> <artifactId>BeeCP</artifactId> <version>1.6.0</version> </dependency>
友情提示:建议使用最新版本
四:功能支持
1:请求超时支持 2:两种模式:公平与竞争 3:断网连接池自动恢复 4:闲置超时和持有超时处理 5:PreparedStatement缓存支持(也可不用) 6:支持连接回收前,事物回滚 7:支持连接回收前,属性重置(比如:autoCommit,transactionIsolation,readonly,catlog,schema,networkTimeout) 8: 支持JMX 9:支持连接工厂自定义
五:配置项说明
六:参考Demo(SpringBoot)
application.properties
spring.datasource.username=xx spring.datasource.password=xx spring.datasource.url=xx spring.datasource.driverClassName=xxx spring.datasource.datasourceJndiName=xxx @Configuration public class DataSourceConfig { @Value("${spring.datasource.driverClassName}") private String driver; @Value("${spring.datasource.url}") private String url; @Value("${spring.datasource.username}") private String user; @Value("${spring.datasource.password}") private String password; @Value("${spring.datasource.datasourceJndiName}") private String datasourceJndiName; private BeeDataSourceFactory dataSourceFactory = new BeeDataSourceFactory(); @Bean @Primary @ConfigurationProperties(prefix="spring.datasource") public DataSource primaryDataSource() { return DataSourceBuilder.create().type(cn.beecp.BeeDataSource.class).build(); } @Bean public DataSource secondDataSource(){ return new BeeDataSource(new BeeDataSourceConfig(driver,url,user,password)); } @Bean public DataSource thirdDataSource()throws SQLException { try{ return dataSourceFactory.lookup(datasourceJndiName); }catch(NamingException e){ throw new SQLException("Jndi DataSource not found:"+datasourceJndiName); } } }
七:性能测试
1: 100万次(1000线程 x 1000次)访问真实数据库,测试连接池性能,并打印耗时分布以及平均耗时,最后依据平时耗时为各连接池进行名次排列,单次时间统计(机器状态对测试结果有较大影响),单次计时间范围:[datasource.getConnection(),connection.prepareStatement,statement.execute(),statement.close(),connection.close()]
下面为各连接池在mysql5.6的下测试结果(单位:毫秒)
Bee_C(5.3623) > Bee_F(6.8492) > HikariCP(9.0176)
性能测试日志
性能测试源码下载
2: 以光连接池性能基准测试结果
JDBC连接池跑分工具下载
1:工具内置当前JDBC领域最强的几个连接池(CP30,DBCP,Tomcat,光连接池,Druid)
2:无需安装数据库,机器环境只需Path包含:JDK1.8,Maven
3:机器空载(开机后的最佳状态),需要机器与网络保持联通(跑分前Maven自动完成依赖下载)
4:解压下载包后一键执行Run.bat(CMD,在命令模式下,进入释放包后的目录,敲入:Run.bat,回车)
5:执行后静等10分钟左右,工具自动打印各连接池的分值(欢迎把结果贴在项目中留言中或其他您中意的地方)