要想进行对Tomcat的性能进行优化,首先你要有一个部署在Linux之上的Tomcat服务,为了将场景模拟的更贴近真实的开发环境,在tomcat上部署一个可以访问数据库的项目

一:下载测试工具JMeter

1.1找到bin目录,然后双击打开就行

Tomcat调优及压力测试_linux

 

 1.2添加线程组

Tomcat调优及压力测试_tomcat_02

 

 添加测试参数,一下请求1000次,请求十次

Tomcat调优及压力测试_运行模式_03

 

 1.3添加HTTP请求

Tomcat调优及压力测试_linux_04

 

 需要填写的参数如下图,根据自身情况而定

Tomcat调优及压力测试_linux_05

 

 1.4添加报告,用于方便查看测试结果

Tomcat调优及压力测试_tomcat_06

 

 二:任何措施都不做的情况下测试

测试的结果因人而异,不同的机器测出来的效果是不一样的,进行一次调优之后要多测试几次才能出现想要的效果

一测:

Tomcat调优及压力测试_开发环境_07

 

 二测

Tomcat调优及压力测试_开发环境_08

 

 三测

Tomcat调优及压力测试_linux_09

 

 三:禁用AJP之后测试

如何禁用可以查看上一篇博客,接下来的操作基本上都会有

javascript:void(0)

一测

Tomcat调优及压力测试_linux_10

 

 二测

Tomcat调优及压力测试_开发环境_11

 

 三测

Tomcat调优及压力测试_开发环境_12

 

 测试效果可能存在着差异

四:配置线程池

一测

Tomcat调优及压力测试_linux_13

 

 二测,测试失败

Tomcat调优及压力测试_开发环境_14

 

 三测

Tomcat调优及压力测试_tomcat_15

 

五:更换运行模式为nio2

一测:响应速度有明显的提升

 Tomcat调优及压力测试_linux_16

 

 二测

Tomcat调优及压力测试_linux_17

 

 六:调整JVM参数

修改bin目录下的catalina.sh

添加参数

JAVA_OPTS="-XX:+UseParallelGC -XX:+UseParallelOldGC -Xms512m -Xmx512m -XX:+PrintGCDetails -XX:+PrintGCTimeStamps -XX:+PrintGCDateStamps -XX:+PrintHeapAtGC -Xloggc:../logs/gc.log"

测试

Tomcat调优及压力测试_linux_18

 

将生成在logs目录下的gc.log通过GCeasy进行分析

Tomcat调优及压力测试_运行模式_19

 

 Tomcat调优及压力测试_运行模式_20

 

 

 更换使用G1进行垃圾收集

Tomcat调优及压力测试_开发环境_21

 

 Tomcat调优及压力测试_运行模式_22

 

 总之,上面的所有方法不一定是最好的,要根据自己的生成环境而进行调整