Tomcat压力测试—Jmeter - Baekhyunne

时间:2024-03-12 20:30:08

  通过调整参数以及配置优化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垃圾回收器

 

 

  暂停时间缩短

 

 

posted on 2020-03-10 18:44  Baekhyunne  阅读(340)  评论(0编辑  收藏  举报