转载

浅析ServletQueryForConnPool测试

一.测试用例ServletQueryForConnPool版本

1.结构图

2.代码实现结构

3.运行时序图

4.测试运行情况说明

4.1 数据库连接和数据库游标占用可能比较大

由于数据库的查询及其分页处理是直接使用JDBC的,并在分页中是使用RseultSet的查询结果集-游标形式实现的,并且每个客户对应一个会话,每个会话对应一个数据库连接和一个结果集(游标),数据库连接和游标是在会话终止时才释放的。因此在多个客户的请求过程中,可能对数据库的访问资源(数据库连接和用于数据操作的游标)占用比较大。

因此数据库访问及其数据库的处理可能是个瓶颈。

4.2 资源没有释放的问题

会话对应的数据库连接和游标可能在会话终止时没有释放。

为了更好的体现出使用Web容器数据库连接池的优点,应该合理的设置连接池中连接对象的“非活动超时时间”,建议次值和Servlet对象的会话超时时间长度一直。

5.此测试用例操作说明

5.1 部署的包的位置:

ServletQueryForConnPool.war

5.2 部署

1.通过Weblogic 的控制台工具部署此包

2.相关的参数请看ServletQueryForConnPool.war包中的配置文件web.xml中相应的servlet配置参数

5.3 测试URL

http://server/:port/WebAppName

即:

http://web/服务器名:端口/Servlet部署的应用程序名

二.测试用例ServletQueryForConnPool_cache 版本

1.结构图

和“一:测试用例3”相同

2.代码实现结构

3.运行时序

说明:使用第四种“缓存一次SQL查询的结果集”的分页面查询技术,即一次SQL查询,把从数据库查询出来的结果保存到会话中,以后的客户分页查询操作都从此缓存中取得。

4.测试运行情况说明

由于使用的是缓存结果集的方式,对Web容器服务器的内存要求比较高,可能在测试过程中,Web容器服务器因内存问题而影响整个系统的响应性能。

5.此测试用例操作说明

5.1 部署的包的位置:

ServletQueryForConnPool_cache.war

正文到此结束
Loading...