使用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. 学会使用Fidder抓取app的http请求(转)

    fidder可以抓取http请求,抓取手机app上面的,自己pc的请求也可以截取,通过这样达到类似浏览器调试的效果,更容易找到问题. 使用原文链接:http://www.cnblogs.com/syf ...

  2. php远程文件包含截断问题

    今天在学习<白帽子讲web安全>一书是,提到一个php远程文件包含漏洞 可以从攻击者服务器中的一个写好的攻击脚本中远程执行命令 服务器中有漏洞的页面代码为: #test.php#error ...

  3. vue.js 源代码学习笔记 ----- instance render

    /* @flow */ import { warn, nextTick, toNumber, _toString, looseEqual, emptyObject, handleError, loos ...

  4. Python的安装与设置

    1.Python的下载与安装最新的python 版本下载可以去python的网站进行下载 . 考虑系统兼任这里下载32位的Python 双击下载的exe文件进行安装 单击Next 完成Python 安 ...

  5. arduino 编程基础

    0. setup() 与 loop() 函数 void setup(): // put your setup code here, to run once: 仅执行一次: void loop(): / ...

  6. 从客户端中检测到有潜在危险的 Request.Form 值的问题的解决方法。

    在controller控制器里面添加[ValidateInput(false)]         [ValidateInput(false)]        public ActionResult m ...

  7. linux vim 命令使用

    基本上vim可以分为三种状态,分别是命令模式(command mode).插入模式(Insert mode)和底行模式(last line mode) 模式切换方法 在命令模式输入“i”,进入插入模式 ...

  8. Nodejs下express+ejs模板的搭建

    nodejs的环境配置,这里就不做说明了.在nodejs安装后的步骤在这里说明一下 首先 全局安装express  npm install -g express-generator 安装ok后,接着 ...

  9. 今天在win7下安装Fedora22

    <h4>技嘉主板970如何设置BIOS从U盘启动安装系统</h4>1.电脑开机按“Del”键进入主板设置项,选择“BIOS”设置 <a href="http:/ ...

  10. 原生js实现div拖拽

    十分简单的效果. <!DOCTYPE html> <html> <head> <meta charset="utf-8"> < ...