#化鲲为鹏,我有话说#在鲲鹏上调优Tomcat的一个实践
环境准备
在鲲鹏弹性云服务器A上部署Tomcat 8.5(OpenJDK 1.8),云服务器使用规格/镜像使用 4vCPUs | 8GB | kc1.xlarge.2/CentOS 7.6 64bit with ARM。
在同一个可用区同一个VPC子网下使用另外一个云服务器B( 2vCPUs | 4GB | kc1.xlarge/CentOS 7.6 64bit with ARM),用于部署压测工具wrk(https://github.com/wg/wrk)
压测方法
测试命令参考:./wrk -t12 -c400 -d30s http://EIP:8080/
(使用12个线程,建立400个链接,对 http://EIP:8080/ 进行压测30秒)
样例输出:
Running 30s test @ http://EIP:8080/
12 threads and 400 connections
Thread Stats Avg Stdev Max +/- Stdev
Latency 635.91us 0.89ms 12.92ms 93.69%
Req/Sec 56.20k 8.07k 62.00k 86.54%
22464657 requests in 30.00s, 17.76GB read
Requests/sec: 748868.53
Transfer/sec: 606.33MB
本文使用Requests/sec这个指标来作为评估tomcat性能的指标。
默认配置下性能
在A上部署完Tomcat后,直接运行startup.sh启动web服务器;
在B上编译wrk压测工具,运行./wrk -t8 -c1024 -d120s http://EIP-of-A:8080/ ,对A上的Tomcat进行压测,测试5次求平均,数据如下:
Requests/sec | |
第一次 | 21838.58 |
第二次 | 21547.30 |
第三次 | 21709.64 |
第四次 | 21761.35 |
第五次 | 21785.64 |
5次平均 | 21728.5 |
几个调优方法
关闭access_log,在conf/server.xml文件中找到下面这一段AccessLogValve,并注释掉
开启APR
安装tomcat-native:yum install tomcat-native
在conf/server.xml文件中找到下面这一段:
并修改为如下:
上述两步完成后,重启tomcat服务:bin/shutdown.sh && bin/startup.sh
调优效果
再使用wrk进行压测5次:
Requests/sec | |
第一次 | 29445.73 |
第二次 | 29466.23 |
第三次 | 29186.04 |
第四次 | 29073.79 |
第五次 | 29145.23 |
5次平均性能 | 29263.4 |
调优提升性能 29263.4/21728.5 - 1 = 34.6%
- 点赞
- 收藏
- 关注作者
评论(0)