1.简介

上一篇宏哥讲解了利用jmeter的插件来监控服务器资源,这一篇讲解分享如何使用jmeter的监视器结果监控tomcat性能。

2.准备工作

文章标题中提到jmeter和tomcat,那么只需要准备它们两即可。

2.1tomcat配置用户名密码及监控权限

1、在使用tomcat时,若要使用管理监控功能,需要用用户名密码登录使用,而tomcat7默认是将用户是注释的,所以需要配置后使用,配置文件为根目录下的/conf/tomcat-users.xml文件。

2、看一下官方说明,如下图所示:

3、可以看出,tomcat9较之前有了变化,权限分为4种

manager-gui
manager-script
manager-jmx
manager-status

4、而且manger-gui不能同时与manger-script或manger-jmx同时使用,所以 我们可以配置如下:

<tomcat-users>
<role rolename="admin"/>
<role rolename="admin-gui"/>
<role rolename="manager"/>
<role rolename="manager-gui"/>
<role rolename="manager-script"/>
<role rolename="manager-jmx"/>
<role rolename="manager-status"/>
<user username="admin" password="admin" roles="admin-gui,manager-gui"/>
<user username="bjhg" password="bjhg" roles="manager-script"/>
<user username="hg" password="hg" roles="manager-jmx"/>
</tomcat-users>

5、重启Tomcat生效。输入相应用户名密码即可使用Server Status、Manager App、host-manager功能。

(1)点击刚刚配置的那三个按钮,如下图所示:

(2)弹出登录页面,输入刚刚xml配置的用户名和密码,如下图所示:

(3)点击“登录”,登录成功,出现下图,配置成功,如下图所示:

2.2jmeter配置

1、tomcat配置完成后,就要配置jmeter了;我们要用到:HTTP授权管理器,让JMeter能够通过Tomcat的认证,允许获取到tomcat的相关数据,

  • Username - admin(取决于tomcat-users.xml文件中的配置)

  • Password - admin(取决于tomcatusers.xml文件中的配置)

  • 其他字段留空。如下图所示:

2、HTTP请求,向tomcat发送get请求,获取监控数据,如下图所示:

3、正确填写tomcat所在服务器IP和tomcat端口号,在“路径”中填入manager/status,请求参数,名称为“XML”(注意是大写 ),值为“true”,并且在Advanced中勾选用作监视器(必须勾选);如下图所示:

4、最后,在“HTTP请求”上右键“添加”--“监视器结果”,将线程组的循环次数设为“永远”,如下图所示:

5、运行线程组即可以实现对Tomcat的监控了,监控数据同时也可以存为文件进行后续分析。如下图所示:

注意,图表的两侧都有字幕。 左边是百分比,右边是死/健康。 如果内存线快速上升和下降,则可能表示内存抖动。 在这些情况下,最好使用Borland OptimizeIt或JProbe来分析应用程序。 您想要看到的是加载,内存和线程的常规模式。 任何不稳定的行为通常表示性能不佳或某种错误。

3.小结

1.此功能仅支持TOMCAT5以上版本,官方说明http://jmeter.apache.org/usermanual/build-monitor-test-plan.html。

2.tomcat配置用户名密码及权限后必须重启。

3.JMeter监视器结果无数据的解决方法:http请求,记得选中下方的“用作监视器”。

4.那个添加监视器结果是在jmeter2.9,其他版本好像找不到。

最新文章

  1. java反射详解
  2. 一鼓作气 博客--第五篇 note5
  3. ArrayList集合
  4. 工作的思考十五:升职前需要做的准备(TeamLeader)
  5. MVC 中的 ViewModel
  6. codeforces 258C Little Elephant and LCM 组合数学 枚举
  7. LeetCode(5) - Longest Palindromic Substring
  8. DateTable与List&lt;T&gt;相互转换 及JSON与DataTable(DataSet)相互转化
  9. hdu 4612 边连通度缩点+树的最长路径
  10. php之分页类代码
  11. java Ajax跨域请求COOKIE无法带上的解决办法
  12. 如何用STAR法则来回答「宝洁八大问」
  13. 【BZOJ2127】happiness 网络流
  14. Android手机用wifi连接adb调试的方法
  15. Thinkphp5 表单提交额外参数和页面跳转参数传递url
  16. windous----操作系统基础
  17. WinForm之窗体应用程序
  18. shell command
  19. ubuntu开启root登陆
  20. SpringMVC之@PathVariable 映射 URL 绑定的占位符

热门文章

  1. .Net Core 集成 Kafka
  2. 【译】Android NDK API 规范
  3. 分布式任务调度系统:xxl-job
  4. Webuploader 简单图片上传 支持多图上传
  5. &lt;JVM上篇:内存与垃圾回收篇&gt;01-JVM与Java体系结构
  6. &lt;JVM下篇:性能监控与调优篇&gt;01-概述篇-02-JVM监控及诊断工具-命令行篇
  7. android 文件存储&amp;SharedPreferences
  8. ERROR: Pool overlaps with other one on this address space
  9. killable thread的python实现
  10. Kafka源码分析(二) - 生产者