JMeter测试有无数据库连接池的性能

发表于:2009-5-21 14:36

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:未知    来源:网络转载

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

《2023软件测试行业现状调查报告》独家发布~

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计 发展历程

法律顾问:上海兰迪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2024
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号