ResultSet rs = statement.executeQuery(\ while (rs.next()) {
String username = rs.getString(2); System.out.println(username); } rs.close(); statement.close(); conn.close(); }
} catch (SQLException e) { e.printStackTrace(); } } count++; if(count==5) {
long date2 = System.currentTimeMillis(); System.out.println(date2);
System.out.println(\运行完毕!耗时为:\ } } }
4.3.1 模拟5个线程循环10次并发访问数据库 DBCP用时1181ms C3P0用时860ms Proxool用时1563ms BoneCP用时31ms
4.3.2 模拟10个线程循环10次并发访问数据库 DBCP用时1188ms C3P0用时953ms
Proxool用时1625ms BoneCP用时63ms
4.3.3 模拟20个线程循环10次并发访问数据库 DBCP用时1204ms C3P0用时1000ms Proxool用时1640ms BoneCP用时110ms
4.3.4 模拟30个线程循环10次并发访问数据库 DBCP用时1250ms C3P0用时1047ms Proxool用时1657ms BoneCP用时156ms
4.3.5 模拟50个线程循环10次并发访问数据库 DBCP用时1406ms C3P0用时1343ms Proxool用时1843ms BoneCP用时172ms
4.3.6 模拟100个线程循环10次并发访问数据库 DBCP用时1641ms C3P0用时2703ms Proxool用时2031ms BoneCP用时532ms
4.3.7 模拟200个线程循环10次并发访问数据库 DBCP用时2093ms C3P0用时4891ms Proxool用时2406ms BoneCP用时936ms
4.3.8 模拟500个线程循环10次并发访问数据库 DBCP用时3219ms C3P0用时11703ms
Proxool用时3343ms BoneCP用时1922ms
4.3.9 模拟800个线程循环10次并发访问数据库 DBCP用时4688ms C3P0用时12063ms Proxool用时4141ms BoneCP用时2859ms
4.3.10 模拟1000个线程循环10次并发访问数据库 DBCP用时5187ms C3P0用时12563ms Proxool用时4703ms BoneCP用时3610ms
4.3.11 模拟3000个线程循环10次并发访问数据库 DBCP用时14094ms C3P0用时16297ms Proxool用时11344ms BoneCP用时11391ms
4.3.12 模拟5000个线程循环10次并发访问数据库 DBCP用时23610ms C3P0用时22032ms Proxool用时20125ms BoneCP用时17125ms
4.4测试结果分析:
BoneCP一直保持性能最佳
4.5 测试结论
通过对四种数据库连接池的性能测试发现,BoneCP的性能明显优于其它三种.