文档详情

关于JAVA的分页查询操作技术.docx

发布:2016-12-16约6.18千字共6页下载文档
文本预览下载声明
关于JAVA的分页查询操作技术Servlet版性能测试 主要考虑的Servlet版运行方式有: 一:Servlet在Web容器中的运行机制 1.??? 单独一个无状态的Servlet实例运行 即Web容器里的多个线程调用一个Servlet实例的运行方式 2.??? 多个Servlet实例 在Web容器中有多个Servlet实例的对象池,并有多个Web容器线程来分别调用执行 二:Servlet 连接数据库的方式 1.? 一对一 即可每个Servlet实例都有直接的数据库连接。 具体方式有: 1 在Servlet实例的每个处理方法中每次都调用数据库连接,然后用此连接进行数据库的查询等操作,最后关闭并释放此连接。 2 在Servlet实例的初始化操作时就连接一个“长”的数据库连接,直到Servlet实例在destroy时关闭并释放此数据库连接。 因为现在的数据库操作主要是查询,没有对数据库的增加、修改等操作,多用户业务查询、Web容器多线程同时对一个Servlet的同一个数据库连接进行操作应该会没有数据操作同步等问题。 2.??? 使用Web容器的数据源 这里主要是使用Web容器的数据源-数据库连接池。 在理论上这种方式能提供最佳的性能。这是也是测试各种Web容器产品在数据库连接池上实现的性能情况。 这里主要看Web容器的在各种应用情况下的最优化配置。 Servlet与数据源连接的实现方式: Servlet直接从Web容器配置中取得数据源及其连接对象,然后通过此连接对象来操作数据库。对于数据库连接对象的管理由Web容器来管理。 三:要考虑的问题: 1.??? 大数据量传输问题 大数据量通过Servlet实例从数据库中取得并整理后,如何有效的传输到客户端IE,并且Servlet实例如何有效在Web容器中处理这些大数据量。 2.??? 对各种JDBC版本的测试 即不同的数据库使用其自己专用的JDBC来连接,在性能上应该要好一些。 这里也可比较Weblogic Server中实现JDBC与各种数据库(MSSQL、Oracle)专用的差别,从测试的结果看出Weblogic Server的技术实例以及是否真正做到了数据库连接等处理的优化了吗。 3.??? Weblogic Server的优化配置 3.1 对象池配置 包括应用逻辑处理对象的对象池化以及使用数据源时的数据库连接对象池在各种具体应用环境下的优化配置。 3.2 线程池配置 以上两个方面涉及到对象池化和串行化处理的策略。 3.3 Weblogic Server 的配置的各种参数的相应情况下的配置 1 JAVA VM (JAVA 虚拟机)参数在各种应用情况下的配置。 2 Weblogic Server 本身的各种参数配置。 鉴于以上的考虑对Servlet版的测试规划为以下几种测试用例: 序号??? 部署包名(*.JAR *.WAR *.EAR 等)??? 数据源配置??? Weblogic Server 的配置??? 预期结果??? 说明??? 可能出现的问题和现象 1??? ServletQueryForPerConn.war??? 在每此业务处理时创建数据库连接,操作完毕后关闭并释放。 通过Web.xml配置文件来配置JDBC的驱动类型和连接。??? 直接部署ServletQueryForPerConn.jar部署包。 Web容器中只有一个Serverlet实例。 建议配置较多的线程数量。 性能差。 在每此业务处理时创建数据库连接,操作完毕后关闭并释放。 此包中没有设计到线程同步的有关代码。??? 数据库很忙(因为数据库要接收频繁的数据库连接)。 可能瓶颈在数据库对频繁的连接处理。 数据库事务方面:由于是在每次处理时就调用数据库连接并查询,因此数据库的事务处理应该是单独在一个独立的处理过程中,与并行的其他线程的处理没有关系。 2??? ServletQueryForOnceConn.war??? Servlet对象只是的初始化时连接与数据库的一个连接,在以后的操作中式中使用这个连接。 通过Web.xml配置文件来配置JDBC的驱动类型和连接。??? 直接部署ServletQueryForOnceConn.jar包; Web容器只有一个Servlet实例。 建议配置较多的线程数量。 性能较差。 Servlet对象只是的初始化时连接与数据库的一个连接,在以后的操作中式中使用这个连接。 此包中没有设计到线程同步的有关代码。??? 数据库连接只有一个。 可能瓶颈在Web容器的多个线程对同一个数据库连接对象的同步等处理(这些同步处理是Web容器自己管理的)。 可能出现查询的数据在多个客户请求中打乱(因为同时使用同一个数据库通信通道); 并且多个线程(单独的处理单元)可能会在同一个处理事务中,可
显示全部
相似文档