性能测试 —— Tomcat监控与调优:status页监控

Tomcat服务器是一个免费的开放源代码的Web 应用服务器,Tomcat是Apache 软件基金会(Apache Software Foundation)Jakarta 项目中的一个核心项目,由Apache、Sun 和其他一些公司及个人共同开发而成。

Tomcat是一个轻量级应用服务器,在中小型系统和并发访问用户的场合下被普遍使用,是开发和调试JSP程序的首选。所以在性能测试过程需要经常监控Tomcat服务器。

通常监控Tomcat服务器的方法有以下三种:

  • 第一:使用Tomcat自带的status页进行监控。
  • 第二:使用Java管理扩展监测工具Jconsole进行监控。
  • 第三:使用Probe进行监控。

在本小节将对这三种监控方法进行详细的介绍。分为三章,大家记得收藏一下,防止走失~

status页监控

Status页对Tomcat监控的步骤如下:

  • 步骤1:修改配置文件tomcat-users(该文件在Tomcat安装程序根目录中的conf文件夹中),添加一个admin设置权限,在中添加的内容如下:

    <role rolename="admin-gui"/> <user username="admin" password="1234" roles="manager-gui"/>
  • 步骤2:修改完成后,重启Tomcat服务器,在浏览器中输入URL(http://localhost:8080/),如果是远程访问,访问的URL为http://IP:8080,如图10-4所示。

图10-4 Status Management页面

在Status Management页面,提供几种监控Tomcat的内容,主要包括Server status和Host Manager两个方面的内容。

  • Server status主要是显示服务器相关的信息,主要包括:Server Information、JVM和接连器相关的内容。
  • Server Information主要是显示了服务器配置的相关信息,如图10-5所示。

图10-5 Server Information内容

JVM部分主要显示了JVM的详细信息,包括JVM总的大小、剩余大小等相关信息,并统计了每个代所消耗内存的情况,当然如果需要看懂这些值,就必须和JVM设置相关的参数对照的来看,这样才可以更好的理解,当然如果要看详细的每个时间这个值的变化情况,这里是无法给到的。

图10-6 JVM信息

Free memory:30.38 MB Total memory: 65.60 MB Max memory: 506.31 MB
Free memory:空闲内存大小;
Total memory:总内存大小;
Max mermory:最大内存大小;

接连器在这里其实有两种:ajp和http两种连接器,我们一般看到多的是http的连接器,因为一般来说都是通过HTTP来发送请求的。HTTP连接器的内容如图10-7所示。

图10-7 HTTP连接器信息

Max threads: 300 Current thread count: 10 Current thread busy: 1 Keep alive sockets count: 1
Max processing time: 2357 ms Processing time: 8.778 s Request count: 155 Error count: 2 Bytes received: 0.00 MB Bytes sent: 2.03 MB

左右拉动查看完整代码

  1. Max threads:最大线程数;
  2. Min spare threads:最小空闲线程数;
  3. Max spare threads:最大空闲线程数;
  4. Current thread count:最近运行的线程数;
  5. thread busy:正在运行的线程数;
  6. Max processing time:最大CPU时间;
  7. Processing time:CPU消耗总时间;
  8. Request count:请求总数;
  9. Error count:错误的请求数;
  10. Bytes received:接收字节数;
  11. Bytes sent:发送字节数;

关于请求阶段的有以下几种情况:

  • P:表示正准备发送的请求;
  • S:表示请求正在服务器端处理;
  • F:表示已经完成的请求;
  • R:表示即将发送的请求;
  • K:表示当前活动的请求;

最后感谢每一个认真阅读我文章的人,看着粉丝一路的上涨和关注,礼尚往来总是要有的,虽然不是什么很值钱的东西,如果你用得到的话可以直接拿走!

软件测试面试文档

我们学习必然是为了找到高薪的工作,下面这些面试题是来自阿里、腾讯、字节等一线互联网大厂最新的面试资料,并且有字节大佬给出了权威的解答,刷完这一套面试资料相信大家都能找到满意的工作。

相关推荐
霍格沃兹测试开发学社测试人社区2 小时前
数据驱动与并行策略:用 JUnit 5 让软件测试更高效
软件测试·测试开发·junit
Dnelic-2 小时前
【单元测试】【Android】JUnit 4 和 JUnit 5 的差异记录
android·junit·单元测试·android studio·自学笔记
霍格沃兹测试开发学社测试人社区2 小时前
软件测试丨探索 JUnit 5 中的参数化与调度执行:提升软件测试的效率与灵活性
软件测试·测试开发·junit
世间万物皆对象9 小时前
Spring Boot核心概念:日志管理
java·spring boot·单元测试
Dnelic-19 小时前
解决 Android 单元测试 No tests found for given includes:
android·junit·单元测试·问题记录·自学笔记
互联网杂货铺19 小时前
自动化测试基础知识总结
自动化测试·软件测试·python·selenium·测试工具·职场和发展·测试用例
Cod_Next20 小时前
Mac系统下配置 Tomcat 运行环境
java·macos·tomcat
岳哥i1 天前
前端项目接入单元测试手册
前端·单元测试
凌云行者1 天前
JMeter的简单使用
jmeter·性能测试
qq_433716951 天前
Selenium+Pytest自动化测试框架 ------ 禅道实战
自动化测试·软件测试·selenium·单元测试·pytest·接口测试·压力测试