zoukankan      html  css  js  c++  java
  • Tomcat压力测试—Jmeter

      通过调整参数以及配置优化Tomcat

        1.在Tomcat上部署一个Web项目

      将项目放到Tomcat解压目录的Webapps下

      1.2 修改连接数据库参数

        进入项目找到 并修改jdbc.propertise文件  修改为自己数据库的连接参数

       1.3  启动Tomcat'访问Web项目

       2.Jmeter压力测试工具

      将Jmeter压力测试工具解压进入bin目录

       2.1修改语言

      2.2 新建 一个线程组   右键Test Plan>添加>线程>线程组

      2.3 新建一个HTTP协议取样器  右键线程组>添加>取样器>HTTP请求

      2.4 新建一个查询结果,点击启动进行测试   右键HTTTP请求>添加>监听器>用表格查看结果和聚合报告

      3. Tomcat没有进行任何配置的情况

      平均请求处理时间:6653
      Error错误率:0.00%
      吞吐量:142/S

      

       3.1 优化方案一:禁用AJP服务   修改server.xml文件

       

        测试

      平均请求处理时间:4930
      Error错误率:0.0%
      吞吐量:192/S

       禁用AJP服务后吞吐量有所提升  测试不一定准所以要多测几遍

      3.2 优化方案二:启动执行器(线程池)

        测试一:最多线程为500,初始为50  修改server.xml文件

       测试

      平均请求处理时间:4760
      Error错误率:0.0%
      吞吐量:201/S

      吞吐量有所提升

        测试二:设置最大队列等待个数 

         测试

     数据相较上一种测试稍显不理想

      测试三 :将运行模式该为noi2

      测试

     可以看出 nio2性能要高于nio

      4.调整JVM参数进行优

    接下来,测试通过jvm参数进行优化,为了测试一致性,依然将最大线程数设置为500,启用nio2运行模式。
        4.1设置并行垃圾回收器并生成日志
     
         4.2 查看生成的日志
        4.3 测试

        4.4 将生成的日志上传到gceasy.io查看

      问题一:

        年轻代的gc有74次,次数稍有多,说明年轻代设置的大小不合适需要调整
        FullGC有8次,说明堆内存的大小不合适,需要调整 

       问题二:

        从GC原因的可以看出,年轻代大小设置不合理,导致了多次GC。
     
      4.5 调整年轻代大小
        将初始堆大小设置为128m,最大为1024m 

        如图调整后GC次数减少

        4.6  设置G1垃圾回收器

      暂停时间缩短

  • 相关阅读:
    java类研究(String)
    webservices
    LoadRunner(软件性能测试工具)
    java线程
    lucene solr
    java IO
    实现一个可变长数组
    [北大程序设计与算法]--虚函数与多态的实例
    A1155 Heap Paths [堆的dfs]
    A1154 Vertex Coloring
  • 原文地址:https://www.cnblogs.com/szhhhh/p/12457807.html
Copyright © 2011-2022 走看看