我从来都这样说:不是所有的应用都要采用连结池,一般的轻载用了连结池反而会降低效率,要用什么方式连结,完全看你的系统瓶颈.
一个普通的连结过程中,因为Connection一般要用到本地方法,这些初始化是非常 耗用系统资源的.连结初始化,执行SQL语句,关闭连结在一次普通的连结中总的资源分配应该是65,10,25,当然不是这么精确,只是为了说明在一次连结中真正执行语消耗的资源是很少的.
如果你的服务器平均每5分种才有一次连结,你当然只用这种普通连结,因为整个一次连结过程才0.0几秒,你不必要再让连结池在余下的4.9几秒中也开着消耗资源,但如果每秒种有10次连结,这时普通连结消耗的初始化资源就很高了,用连结池就能显示它的优势.
所以到底采用什么方式连结,完全要根据你的应用,而且要进行实实在在的并发仿真测试.不要看到书上说什么方式好就相信,真正的构架一个平台是一种艺术而不只是一种技术,要多方面综合测试找到最佳的组合.很多陷井并不是技术所能发现的.比如你查看你的JVM还有很多空闲资源,但系统却已经崩溃了.因为象连结初始化这种资源消耗在本地方法中,JVM是反映不出来的,但却在同一物理内存中,还有很多这样的陷井,重要的是经验和测试!
时间: 2024-11-08 18:14:05