• 【转】JMeter测试有无数据库连接池的性能


    使用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毫秒。

  • 相关阅读:
    团队项目博客---移山小分队---10
    个人项目博客----移山小分队----09
    团队项目博客---移山小分队---9
    个人项目博客----移山小分队----08
    团队项目博客---移山小分队---8
    个人项目博客----移山小分队----07
    团队项目博客---移山小分队---7
    浪潮之巅阅读笔记06
    浪潮之巅阅读笔记05
    构建之法阅读笔记03
  • 原文地址:https://www.cnblogs.com/blongfree/p/4981335.html
Copyright © 2020-2023  润新知