在性能测试过程中,如何监控多台服务器资源呢,以下介绍jmeter如何与tomcat5以上版本,配合监控。
注意:添加服务器监控建议不要跟性能测试的用例放在同一个线程组里,即性能测试单独一个线程组,服务器监控单独一个线程组,运行的时候,同时运行,这样可以一边跑性能,一边做服务器资源的监控。
1、添加并发用户
添加线程组,并修改其默认值为线程组1,循环次数为:永远
注意,这个很重要,线程组应该始终设置为1,如果为单个服务器创建多个监控线程,是非常不好的,会给服务器带来很大的压力,这样就无法达到做性能的目的了。
循环次数应该设置为“永远”,以便 产生足够多的采样数据,来动态监控服务器的工作状态。
2、添加HTTP授权管理权
为线程组添加HTTP授权管理器(ADD-Config element-HTTP Authorization Manager),输入web服务器的用户名和密码,,Base URL保留为空。
注意:使用之前要先配置一下tomat方可使用。
3、添加HTTP请求
为线程组添加一个HTTP请求(HTTP-Sampler-HTTP Request)
1)将name域改为server status
2)输入IP地址或主机名
3)输入端口号
4)如果测试人员使用tomcat,请将path域设置为/manager/status
5)添加一个请求参数名为XML(大写),其值为true(小写)
6)选中底部的“use as Monitor"
4、为线程组添加固定时长定时器
Add-Timer-Constant Timer ,在thread delay 域中输入5000,通常,采样间隔小于5s会加大服务器的负载,所以请根据实际情况进行修改
5、添加一个监听器来存储测试结果
Add-Listener-Simple Data Writer,并指出输出的文件目录
6、添加监视器结果
Add-Listner-Monitor Results,有两个选项,health,展示监视器结果收到的最新采样数据,performance,动态展示监听的数据。
空闲内存曲线表向往下 了当前是分配内存块中有多少空闲内存。在一个良好的系统环境下,服务器应该永远也达不到最大内存值。如果内存曲线忽上忽下,说明内存分配存在问题。可以使用orland optimizeit或者jprobe对系统内存进行分优化。
tomcat配置:
一. 配置$CATALINA_HOME/conf/tomcat-users.xml.配置如下:
<role rolename="manager-gui"/>
<role rolename="manager-script"/>
<role rolename="admin-gui"/>
<role rolename="admin-script"/>
<role rolename="tomcat-gui"/>
<user username="tomcat" password="admin" roles="manager-script,admin-script,admin-gui,tomcat,manager-gui"/>
</tomcat-users>
注意:这里需要配置多个角色
实际访问地址如:http://192.168.10.110:8002/manager/status,输入用户名 tomcat,以及设置的密码admin即可登录,如果无法登录,遇到如下问题:
1.tomcatManager status code:401
2.tomcatManager status code:403 Access Denied
解决方法:
1、tomcat-user.xml配置用户最大权限 ,
2、配置了还报错那是因为你tomcat服务没有重启的缘故
3、修改访问权限文件:$TOMCAT_HOME/webapps/manager/META-INF/context.xml文件中
<Context antiResourceLocking="false" privileged="true" >
<Valve className="org.apache.catalina.valves.RemoteAddrValve"
allow="127\.\d+\.\d+\.\d+|::1|0:0:0:0:0:0:0:1|192.168.10.11" />
</Context>
配置有问题,因为只允许本机访问所以其他人无法访问,只需加入本机ip即可