如何通过JMeter和JConsole测试监控Tomcat的性能
1、准备一个基于SpringBoot的web应用来测试Tomcat的相关指标快速创建一个基于SpringBoot的web应用,并将其启动类声明为为一个 RestController,补充一个请求处理方法(RequestMapping),在请求url中指明了一个数字类型的请求参数,通过这个参数控制线程sleep的时间,以此模拟实际业务处理所需的时间(图示)。关于如何基于SpringBoot快速创建web应用,可以参考如下经验引用。

3、配置SpringBoot启动参数,并启动应用(图1示),启动JConsole,使用远程连接的方式监控SpringBoot内置的Tomcat (图2示,具体操作可以参考如下经验引用)

4、启动并配置 JMeter 1. 配置 Thread Group (虚拟用户组) 为 100,Loop Count 勾选 fore即枢潋雳ver (持续发送请求,除非手动暂停,图1示)2. 配置 HTTP Request,分3次测试,配置 url 让请求在后台分别延时2秒、4秒和6秒返回,注意同时需要配置响应超时为1秒,这样可以保持恒定的请求吞吐量 (图2、3示)3. 配置 View Results Tree 和 Aggregate Report 用于查看结果注意,更具体详细的 JMeter 配置请查看如下经验引用


6、总结:1. 从线程数量上看,随着后台业务处理时间的增长,tomcat线程池的线程数量也会同步增加,如果自身业务处理逻辑没有改变,但线程数量突然增加,则有可能是依赖的服务出现延时增加的情况。2. 从内存上看,因为上述测试后台并没有大量创建对象,因此这里显示的内存消耗主要是创建线程导致的3. cpu消耗,上述测试后台并没有很复杂的业务处理逻辑,并且客户端吞吐量恒定,cpu的消耗并没有出现很大波动