使用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. Server.Transfer 页面之间传值

    server.transfer 特点: 1:大家熟悉的一个特点,用server.transfer 跳转到新页面时,浏览器的地址是没有改变的(因为重定向完全在服务器端进行,浏览器根本不知道服务器已经执行 ...

  2. 【WebGL】2.基础概念

    引入Three.js <!DOCTYPE html> <html> <head> <title></title> </head> ...

  3. XML方式实现Spring的AOP

    1.编写切面类 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 package com.fz.an ...

  4. 关于python中urllib.urlencode的时候出错:UnicodeEncodeError: ‘ascii’的记录

    原文我参见了:http://hi.baidu.com/setcookie/item/ddc6b694b1f13435336eeb3c 为毛我要费事的写下了,就是为了让自己记录一下,下面的也是直接摘录过 ...

  5. Android响应式UI教程

    原文:Responsive UI Tutorial for Android 作者:James Nocentini 译者:kmyhy 2017/5/4 更新说明: 由 James Nocentini 更 ...

  6. 基于sklearn进行文本向量化

    sklearn中,计数向量化用CountVectorizer,tfidf向量化用TfidfVectorizer: import pickle from sklearn.feature_extracti ...

  7. Shell 关闭指定进程

    例如要关闭jupyter-notebook这个进程: - | 说明:管道符“|”用来隔开两个命令,管道符左边命令的输出会作为管道符右边命令的输入. “ps -ef” 查看所有进程 “grep -v g ...

  8. python爬虫入门(2)re模块-正则表达式

    正则表达式 search //匹配第一次遇到符合规则的 匹配IP地址 import re re.search(r'(([01]{0,1}\d{0,1}\d|2[0-4]\d|25[0-5])\.){3 ...

  9. Mac 配置前端基本环境

    一,sublime 下载一个版本,替换packages,要想shift  command p管用,得在sublime里面control -,然后把 import urllib.request,os,h ...

  10. Makefile中怎么使用Shell if判断

    /********************************************************************* * Makefile中怎么使用Shell if判断 * 说 ...