1、压力测试概要
测试环境:apache-tomcat-8.5.16, Java(TM) SE Runtime Environment (build 1.8.0_131-b11)
apache-jmeter-5.0
Tomcat jvm启动参数
JAVA_OPTS="-server -XX:MaxNewSize=2048m –XX:NewSize=2048m –Xms8192m –Xmx8192m"
Tomcat Server参数:
<Connector port=" 8080 "
enableLookups=" false "
disableUploadTimeout=" true "
acceptCount=" 2000 "
maxSpareThreads=" 1000 "
minSpareThreads=" 300 "
maxThreads=" 2000 "
redirectPort=" 8443 " compressableMimeType=" text/html,text/xml,text/javascript,text/css,text/plain,application/json " compression=" on " connectionTimeout=" 20000 " protocol=" HTTP/1.1 "/> />
Tomcat context 配置:
driverClassName="com.mysql.jdbc.Driver" filters="stat"
initialSize="10" maxActive="200"
maxPoolPreparedStatementPerConnectionSize="20" maxWait="60000"
minEvictableIdleTimeMillis="300000" minIdle="10"
testOnBorrow="false" testOnReturn="false" testWhileIdle="true"
timeBetweenEvictionRunsMillis="60000" type="javax.sql.DataSource"
" timeBetweenEvictionRunsMillis=" 60000 " testWhileIdle=" true " testOnReturn=" false " testOnBorrow=" false " poolPreparedStatements=" true " name=" jdbc/xxxxApp " minIdle=" 50 " minEvictableIdleTimeMillis=" 300000 " maxWaitMillis=" 60000 " maxPoolPreparedStatementPerConnectionSize=" 20 " maxTotal=" 400 " initialSize=" 50 " filters=" stat " driverClassName=" com.mysql.jdbc.Driver " connectionProperties=" druid.stat.slowSqlMillis=3000 " auth=" Container "/
数据库信息:

测试时间:xxxx/xx/xx
服务端配置:

客户端配置:

测试工具:JMeter
2、测试说明
(1)名词定义(时间单位ms)
Sample:本次测试场景共运行多少线程;
Average:平均响应时间;
Median:统计意义上的响应时间中值;
90% line:所有线程中90%的线程响应时间都小于xx的值;
Min:响应最小时间;
Max:响应最大时间;
Error:出错率;
Throughput - 吞吐量以“requests/second、requests /minute、 requests /hour”来衡量。 时间单位已经被选取为second,所以,显示速率至少是1.0,即每秒1个请求。 当吞吐量被保存到CVS文件时,采用的是requests/second,所以30.0 requests/second 在CVS中被保存为0.5Kb/sec - 以Kilobytes/seond来衡量的吞吐量
(2)测试过程说明:
测试以下页面:
/xxx/bbbb/cccc
测试数据量(模拟用户量):
1000个线程

3000个线程:

5000个线程:

7000个线程:

PROD 环境监控

|
Param Name |
prod env. |
|
CPU |
8核 |
|
内存 |
16 GB |
|
操作系统 |
Ubuntu 14.04 64位 |
|
当前使用带宽 |
10Mbps (峰值) |
|
数据库类型 |
MySQL 5.6 |
|
DB使用CPU |
2 核 |
|
数据库内存 |
4096MB |
|
最大IOPS |
2000 |
|
最大连接数 |
1200 |
|
Tomcat内存配置 |
-Xms8192m -Xmx8192m |