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垃圾回收器

  暂停时间缩短

猜你喜欢

转载自www.cnblogs.com/szhhhh/p/12457807.html