在性能测试过程中,如何监控多台服务器资源呢,以下介绍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即可