LR如何监控tomcat性能

使用LoadRunner做性能测试,一般的直觉是LR只能完成脚本录制和编写模拟用户的请求行为,但是在某些情况下,要监控一些中间件或web服务器的性能时,就不能通过录制脚本来完成了,那么就需要手工来编写脚本,通过LR自带的lr_user_data_point(“”,””)打点函数进行自定义的监控其性能指标。

这里以监控Tomcat web服务器为例。

实现思路:

1、  配置Tomcat登录用户,找到tomcat-6.0.37目录下的/conf/ tomcat-users.xml,添加配置如下:

<tomcat-users>
<role rolename="manager-gui"/>
<user username="monitor" password="123456" roles="manager-gui"/>
</tomcat-users>

(配置Tomcat登录用户后,建议测试一下配置的用户登录能否登录进入Tomcat管理页面)

2、  在Action脚本中,使用web_set_user("用户名","密码","tomcat服务器所在的IP地址:端口");

3、  脚本中编写web_url(); 模拟访问Tomcat的url 并登录

4、  利用关联函数web_reg_save_parm()动态地捕获想要的数据

5、  最后利用打点函数lr_user_data_point(“监控指标名”,”监控指标值”);记录用户自定义的数据样本

VuGen脚本代码如下:

Action_tomcat()
{

    double atof(const char * string);

    web_reg_save_param("JVM_FreeMemory",
                       "LB=Free memory: ",
                       "RB= MB",
                       "Ord=1",
                       LAST);

    web_reg_save_param("JVM_TotalMemory",
                       "LB=Total memory: ",
                       "RB= MB",
                       "Ord=1",
                       LAST);

    web_reg_save_param("JVM_MaxMemory",
                       "LB=Max memory: ",
                       "RB= MB",
                       "Ord=1",
                       LAST);

    web_reg_save_param("HTTP_MaxThreads",
                       "LB=Max threads: ",
                       "RB= ",
                       "Ord=1",
                       LAST);

    web_reg_save_param("HTTP_MaxProcessingTime",
                       "LB=Max processing time: ",
                       "RB= s",
                       "Ord=1",
                       LAST);

    web_reg_save_param("HTTP_RequestCount",
                       "LB=Request count: ",
                       "RB= ",
                       "Ord=1",
                       LAST);

    web_reg_save_param("HTTP_BytesReceived",
                       "LB=Bytes received: ",
                       "RB= MB",
                       "Ord=1",
                       LAST);

    web_set_user("monitor","123456","localhost:8088");

    lr_think_time(5);

    web_url("status",
            "URL=http://localhost:8088/manager/status",
            "Resource=0",
            "Referer=",
            "Snapshot=t1.inf",
            "Mode=HTML",
            LAST);

    lr_user_data_point("Tomcat_JVM_FreeMemory",atof(lr_eval_string("{JVM_FreeMemory}")));

    lr_user_data_point("Tomcat_JVM_TotalMemory",atof(lr_eval_string("{JVM_TotalMemory}")));

    lr_user_data_point("Tomcat_JVM_MaxMemory",atof(lr_eval_string("{JVM_MaxMemory}")));

    lr_user_data_point("Tomcat_HTTP_MaxThreads",atof(lr_eval_string("{HTTP_MaxThreads}")));

    lr_user_data_point("Tomcat_HTTP_MaxProcessingTime",atof(lr_eval_string("{HTTP_MaxProcessingTime}")));

    lr_user_data_point("Tomcat_HTTP_ProcessingTime",atof(lr_eval_string("{HTTP_ProcessingTime}")));

    lr_user_data_point("Tomcat_HTTP_RequestCount",atof(lr_eval_string("{HTTP_RequestCount}")));

    lr_user_data_point("Tomcat_HTTP_BytesReceived",atof(lr_eval_string("{HTTP_BytesReceived}")));

    return 0;
}

运行脚本,查看回放日志:

脚本编写好(注意:建议将监控Tomcat的这段脚本代码放在新插入一个Action里面,并且放在之前录制来的业务脚本后面),接下来,优化业务脚本,创建Controller等与平时的性能测试流程一样就好了。

在Controller监控场景图中,添加“运行时图-用户定义的数据点图”

最后在Analysis生成结果分析报告中,可以看到“运行时图-用户定义的数据点图”是显示有数据的,如图:

注意:这里的Tomcat_JVM_FreeMemory 和 Tomcat_HTTP_RequestCount的值会变大些,而Tomcat_HTTP_MaxThreads、Tomcat_JVM_MaxMemory、Tomcat_HTTP_MaxProcessingTime等这些值不会变化很大其原因基本上是tomcat自身的限制。

结论:可以看出,4~5min期间存在tomcat处理客户端请求瓶颈,后续需要观察其他图进行分析,可能是CPU瓶颈。

时间: 2024-11-07 13:26:31

LR如何监控tomcat性能的相关文章

【转】JMeter学习(十四)JMeter监控Tomcat性能

使用jmeter的tomcat监视器功能,可以通过向tomcat的status页面发送get请求,得到资源使用信息,然后转换为只直观的图像方式,这样的话,就可以监视到服务器的资源使用情况,不过需要注意的是,要使用tomcat监视器功能,就必须在要监视的服务器上装有tomcat. 一.  配置$CATALINA_HOME/conf/tomcat-users.xml.配置如下: <?xml version='1.0' encoding='utf-8'?> <tomcat-users>

JMeter学习(十四)JMeter监控Tomcat性能

使用jmeter的tomcat监视器功能,可以通过向tomcat的status页面发送get请求,得到资源使用信息,然后转换为只直观的图像方式,这样的话,就可以监视到服务器的资源使用情况,不过需要注意的是,要使用tomcat监视器功能,就必须在要监视的服务器上装有tomcat. 一.  配置$CATALINA_HOME/conf/tomcat-users.xml.配置如下: <?xml version='1.0' encoding='utf-8'?> <tomcat-users>

监控tomcat性能

tomcat经常被用作中间件,也有直接作WEB的,自带的工具不是很给力,推荐以下的办法 工具/原料 javamelody 方法/步骤 下载 javamelody.jar和 jrobin-x.jar这两个插件,这两个工具非常多,自已找一下吧   将上述两个文件拷贝到自已项目的WEB-INF下的lib目录下,我的目录是在/opt/tomcat/webapps/ROOT/WEB-INF/lib下.   将上述两个文件修改权限,变成Tomcat能执行,取决于tomcat的安装用户,我当时用root装的,

zabbix使用JMX监控tomcat性能

测试环境:centos6.4 x64 一.zabbbix服务端配置 1.zabbix服务端安装时需要加上 --enable-java 2.zabbix服务端安装jdk 3.找到zabbix_java,修改以下内容: vi /usr/local/zabbix/zabbix_java_gateway/sbin/zabbix_java/settings.sh LISTEN_IP="0.0.0.0" LISTEN_PORT=10052 START_POLLERS=5 4.在zabbix_ser

LR如何利用siteScope监控MySQL性能

本次实验,是在自己的电脑上使用APMServ5.2.6部署Discuz2.X论坛下,对该论坛的数据库MySQL5.1进行性能测试的,下面讲述LoadRunner在设计场景时,如何利用siteScope工具监控MySQL数据库性能: 一.在网上下载siteScope 我在网上搜了很久,发现siteScope软件的下载资源很少,毕竟它是收费的,想找个破解版,不过还是有的,哈哈...但是版本旧了点siteScope7.9.5 下载地址:http://download.csdn.net/detail/y

Tomcat性能监控与调优

tomcat远程debug Tomcat是目前被应用得最多的一款Java Web服务器,很多人都会使用Tomcat来作为项目的服务器.也经常需要在开发的时候对Tomcat进行debug.在本地对Tomcat进行debug相信很多人都会,但如果需要对远程的Tomcat进行debug,相信有部分小伙伴还是没接触过的,而本小节将简单介绍一下如何对Tomcat进行远程debug. Tomcat远程debug是基于 JDWP 协议实现的,关于 JDWP 协议,可参考以下文档: https://www.ib

Tomcat性能监控

Tomcat性能监控工具很多,这里介绍两种1.JMeter 2.probe,使用这两种工具都需要在tomcat的安装目录/conf/tomcat-users.xml添加 <tomcat-users> <!-- 用户角色 --> <role rolename="manager"/> <!-- 用户账号 --> <user username="admin" password="admin" rol

LoadRunner监控Tomcat的几种方法

通过JConsole监控Tomcat 1.打开tomcat5的bin目录中的catalina.bat文件,在头部注释部分的后面加上: set JAVA_OPTS=%JAVA_OPTS% -Dcom.sun.management.jmxremote.port=8999 -Dcom.sun.management.jmxremote.authenticate=false -Dcom.sun.management.jmxremote.ssl=false 2.修改JMX远程访问授权. 进入JAVA安装目录

如何监控Tomcat服务器

如何监控Tomcat服务器 发表于:2009-06-25来源:作者:点击数:2651 标签:tomcatTomcat服务器 在进行 性能测试 时,一般都需要对应用服务器进行监控,监控的指标包括应用服务器的JVM使用状况.可用连接数.队列长度等信息.商业的应用服务器如 WebLogic . WebSphere 等都提供了Console对这些指标进行监控,在性能测试时可以很容易观察这些指标的情况. 在进行性能测试时,一般都需要对应用服务器进行监控,监控的指标包括应用服务器的JVM使用状况.可用连接数