tomcat优化
Tomcat 性能调优
- 对于系统性能,用户最直观的感受就是系统的加载和操作时间,即用户执行某项操作的耗时。从更为专业的角度上讲,性能测试可以从以下两个指标量化。
- 响应时间:如上所述,为执行某个操作的耗时。大多数情况下,我们需要针对同一个操作测试多次,以获取操作的平均响应时间。
- 吞吐量:即在给定的时间内,系统支持的事务数量,计算单位为 TPS。通常情况下,我们需要借助于一些自动化工具来进行性能测试,因为手动模拟大量用户的并发访问几乎是不可行的,而且现在市面上也有很多的性能测试工具可以使用,如:ApacheBenchApacheJMeter、WCAT、WebPolygraph、LoadRunner。主要介绍免费的工具:ApacheBench
ApacheBench
- ApacheBench(ab)是一款ApacheServer基准的测试工具,用户测试Apache Server的服务能力(每秒处理请求数),它不仅可以用户Apache的测试,还可以用于测试Tomcat、Nginx、lighthttp、IIS等服务器。(这里主要是对tomcat)
- 1.安装
yum install httpd‐tools
- 2.查看版本号
ab ‐V
- 3.部署war包, 部署数据库,准备环境
- 将准备好的ROOT.war包上传到tomcat/webapps/目录下,清空这个目录
- 将准备好的course_db.sql,导入到数据库
- war包自动解压,编辑vim tomcat/ROOT/WEB-INF/clasess/jdbc.properties
#进行修改 jdbc.driver=com.mysql.jdbc.Driver jdbc.url=jdbc:mysql://localhost:3306/course_db?characterEncoding=utf8 jdbc.username=root jdbc.password=itcast
- 重启tomcat
- 准备data.json文件 vim data.json添加内容
{"name":"","teachername":""}
- 4.测试性能 (ab命令更具需求)
ab ‐n 1000 ‐c 100 ‐p data.json ‐T application/json http://localhost:8080/course/search.do?page=1&pageSize=10
- 测试的时候动态监控tomcat的catalina.out,如果发现有错,可以立刻停止
- 1.安装
- 测试报告参数说明:
- Server Software: 服务器软件
- Server Hostname: 主机名
- Server Port: 端口号
- Document Path:测试的页面
- Document Length:测试的页面大小
- Concurrency Level:并发数
- Time taken for tests:整个测试持续的时间
- Complete requests:完成的请求数量
- Failed requests:失败的请求数量,这里的失败是指请求的连接服务器、发送数据、接收数据等环节发生异常,以及无响应后超时的情况。
- Write errors:输出错误数量
- Total transferred:整个场景中的网络传输量,表示所有请求的响应数据长度总和,包括每个http响应数据的头信息和正文数据的长度。
- HTML transferred:整个场景中的HTML内容传输量,表示所有请求的响应数据中正文数据的总和
- Requests per second:每秒钟平均处理的请求数(相当于 LR 中的 每秒事务数)这便是我们重点关注的,它等于:Completerequests / Time taken for tests
- Time per request:每个线程处理请求平均消耗时间(相当于 LR 中的 平均事务响应时间)用户平均请求等待时间
- Transfer rate:平均每秒网络上的流量(对服务器)
- Percentage of the:requests served within: 指定时间里,执行的请求百分比a certain time (ms):
- Requests per second: 吞吐率:服务器并发处理能力的量化描述,单位是reqs/s,指的是在某个并发用户数下单位时间内处理的请求数。某个并发用户数下单位时间内能处理的最大请求数,称之为最大吞吐率。这个数值表示当前机器的整体性能,值越大越好。
- Time per request: 用户平均请求等待时间:从用户角度看,完成一个请求所需要的时间
- Time per request:服务器平均请求等待时间:服务器完成一个请求的时间across all concurrent requests:
- Concurrency Level: 并发用户数
---------------------------------------------------------------------------------------------
tomcat性能优化主要是JVM的优化,这里修改吞吐量的方法最直接的方法就是修改tomcat的堆内存,可以移步JVM 配置
继续阅读

我的微信
这是我的微信扫一扫
评论