Web应用一般都会访问数据库,一般来说,完成一个数据库操作需要以下环节:
(1)获取数据库连接
(2)编译和执行SQL语句
(3)释放数据库连接
因此,JDBC可以调优的地方不外乎就这三个地方。
1. 从数据库连接池获取连接
(1)建议:Initial = Maximum = 最大并发用户数
2. 编译和执行SQL语句
(1)Statement cache: Type = LRU, Size = 10 (根据情况可适当增大)
3. 释放数据库连接
(1)选中Pinned-to-Thread,即执行线程使用完毕数据库连接后,不放回池中,继续为下一个请求服务。
四组配置测试结果如下:
(1)默认情况 Initial = 1, Maximum = 15
(2)Initial = Maximum = 15
(3)Initial = Maximum = 15,Pinned-to-Thread=true,
(4)Initial = Maximum = 15,Pinned-to-Thread=true, Statement cache: Type = LRU, Size = 35
(2)(3)(4)组数据均测试了两遍,取得都是第2次数据,可以看出(2)(3)差别不大,而(4)的缓存效应非常明显,这是让我有些没想到的。
没有评论:
发表评论