使用JMeter测试一下有无数据库连接池的性能:

  1.下载JMeter

  2.无连接池的servlet

  Java代码

public void doGet(HttpServletRequest request, HttpServletResponse response)   
        throws ServletException, IOException {   
  
    response.setContentType("text/html");   
    PrintWriter out = response.getWriter();   
    out   
            .println("<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01 Transitional//EN\">");   
    out.println("<HTML>");   
    out.println("  <HEAD><TITLE>A Servlet</TITLE></HEAD>");   
    out.println("  <BODY>");   
    out.print("    This is ");   
    out.print(this.getClass());   
    out.println(", using the GET method");   
    out.println("test 1000 add");   
               
        DBManager db=new DBManager();   
        db.getConnection();   
       
         db.addUser("persia", "persia");   
        
    out.println("  </BODY>");   
    out.println("</HTML>");   
    out.flush();   
    out.close();   
}

  有连接池的servlet情况:

  Java代码

public void doGet(HttpServletRequest request, HttpServletResponse response)   
        throws ServletException, IOException {   
  
    response.setContentType("text/html");   
    PrintWriter out = response.getWriter();   
    out   
            .println("<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01 Transitional//EN\">");   
    out.println("<HTML>");   
    out.println("  <HEAD><TITLE>A Servlet</TITLE></HEAD>");   
    out.println("  <BODY>");   
    out.print("    This is ");   
    out.print(this.getClass());   
    out.println(", using the GET method");   
    out.println("test 1000 add");   
               
         
     DBManagerByPool dbp=new DBManagerByPool();   
     try {   
        dbp.addUser("persia", "persia");   
    } catch (NamingException e) {   
        // TODO Auto-generated catch block   
        e.printStackTrace();   
    }   
  
    out.println("  </BODY>");   
    out.println("</HTML>");   
    out.flush();   
    out.close();   
}

  3.JMeter测试配置:

  (1)默认新建的测试计划里面新建线程组

  线程数5,循环1000

  (2)设置HTTP请求默认值

  (3)添加(sampler里面)2个HTTP请求分别对应有无连接池

  (4)添加监听器--聚合报告

  (5)运行--启动

  4.测试结果:

  Java代码

  1. Label   # Samples   Average Median  90% Line    Min Max Error % Throughput  KB/sec
  2. 无连接池池   5000    88  44  89  17  1012    0   35.57680677 7.052823998
  3. 连接池 5000    50  45  68  10  236 0   35.59098836 7.194662686
  4. 总体  10000   69  45  78  10  1012    0   71.14247704 14.24239042

  发现无连接池的平均反应时间为88毫秒,而有连接池的平均反应时间为50毫秒。

【转】JMeter测试有无数据库连接池的性能的更多相关文章

  1. 淘宝数据库连接池 druid 性能评测

    想必大家知道淘宝在双十一惊人表现,搜索群里有哥们对淘宝的链接池进行了测试,废话不多说,直接上测试结果,结果如下:在Spring中使用方法<bean id="dataSource&quo ...

  2. java数据库连接池性能对比

    这个测试的目的是验证当前常用数据库连接池的性能. testcase Connection conn = dataSource.getConnection(); PreparedStatement st ...

  3. 14mysql事务、数据库连接池、Tomcat

    14mysql事务.数据库连接池.Tomcat-2018/07/26 1.mysql事务 事务指逻辑上的一组操作,组成这组操作的各个单元,要么全部成功,要么全部不成功. MySQL手动控制事务 开启事 ...

  4. JDBC 学习复习6 学习与编写数据库连接池

    之前的工具类DBUtil暴露的问题 用户每次请求都需要向数据库获得链接,而数据库创建连接通常需要消耗相对较大的资源,创建时间也较长.假设网站一天10万访问量,数据库服务器就需要创建10万次连接,极大的 ...

  5. Druid数据库连接池的使用

    Druid  阿里提供的数据库连接池,集以上连接池优点于一身,开发使用此连接池 使用配置文件方式获取Druid数据库连接池 TestDruid package com.aff.connection; ...

  6. MySQL 并发测试中,线程数和数据库连接池的实验

    我一直以来,对性能测试中,连接池的大小要如何配置,不是太清楚: 就我所知道的,就DB自带对连接数的限制,在sqlserver中用select @@connection 可以查到, 在代码中,可以配置D ...

  7. 主流数据库连接池性能比较 hikari druid c3p0 dbcp jdbc

    背景 对现有的数据库连接池做调研对比,综合性能,可靠性,稳定性,扩展性等因素选出推荐出最优的数据库连接池 . NOTE: 本文所有测试均是MySQL库 测试结论 1:性能方面 hikariCP> ...

  8. 一次项目实践中DBCP数据库连接池性能优化

    关于数据库连接池DBCP的关注源于刚刚结束的一轮测试,测试内容是衡量某Webserver服务创建用户接口的性能.这是一款典型的tomcat应用,使用的测试工具是Grinder.DBCP作为tomcat ...

  9. 为什么HikariCP被号称为性能最好的Java数据库连接池,如何配置使用

    转自:https://blog.csdn.net/clementad/article/details/46928621 HiKariCP是数据库连接池的一个后起之秀,号称性能最好,可以完美地PK掉其他 ...

随机推荐

  1. C# 设计模式巩固 - 工厂方法模式

    前言 实在编不出来了~ 介绍 - 工厂方法模式 官方定义:(下面摘自百度百科)工厂方法模式(FACTORY METHOD)是一种常用的对象创建型设计模式,此模式的核心精神是封装类中不变的部分,提取其中 ...

  2. log4cpp之Appender

    body, table{font-family: 微软雅黑; font-size: 10pt} table{border-collapse: collapse; border: solid gray; ...

  3. C语言实现的矩阵乘法运算器

    需求 编写程序模拟矩阵乘法,一个m*n的矩阵,乘以一个 n*m 的矩阵, 并且输出结果. STEP 1  矩阵乘法的计算 一个m行n列的矩阵与一个n行p列的矩阵可以相乘,得到的结果是一个m行p列的矩阵 ...

  4. AS3帮助手册

    http://help.adobe.com/zh_CN/FlashPlatform/reference/actionscript/3/index.html

  5. PostgreSQL CPU满(100%)性能分析及优化(转)

    PostgreSQL CPU满(100%)性能分析及优化 转自:https://help.aliyun.com/knowledge_detail/43562.html    在数据库运维当中,一个DB ...

  6. asp.net设置gridview页码显示遇到的问题

    问题:分页部分显示的页码撑开占满整个表格底部 解决方法: 1.通过浏览器察看源,发现是分页部分的table样式受到整个页面的table设置的样式的影响,分页是一个tr里面的td里面的table 2.设 ...

  7. Failed to resolve: com.android.support:appcompat-v7:27.+ 报错解决方法

    最近在学习Android方面的编程,这个过程中出现了许多的错误,其中最多的错误是出现在构建工具进行编译的时候.这里分析一个出现的错误,Failed to resolve: com.android.su ...

  8. axios如何使用

    我们知道,vue2.0以后,vue就不再对vue-resource进行更新,而是推荐axios,而大型项目都会使用 Vuex 来管理数据,所以这篇博客将结合两者来发送请求 1.安装axios cnpm ...

  9. javascript中typeof用法

    JS中的变量是松散类型(即弱类型)的,可以用来保存任何类型的数据. typeof 可以用来检测给定变量的数据类型,可能的返回值: 1. 'undefined' --- 这个值未定义: 2. 'bool ...

  10. lua不支持的泛型方法

    1.没有泛型约束 2.缺少带约束的泛型参数 3.泛型约束必须为class /// <summary> /// 不支持生成lua的泛型方法(没有泛型约束) /// </summary& ...