loadrunner监控tomcat:
第一种:
LR本身是不支持的!有两种方式可以集成!
1、自己写一个批处理程序去取tomcat的数据
2、使用sitescope去执行这个批处理,然后采集数据
3、使用LR与sitescope集成,然后读取数据
第二种:
1、通过LR去访问tomcat监控页
2、然后通过关联取监控数据
3、使用lr_user_data_point()添加数据到图表中去
这里用第二种具体解决方案如下:(监控tomcat服务器:http://127.0.0.1)
1、打开Tomcat的status页面,方法为编辑Tomcat的conf目录下的tomcat-users.xml文件,在文件中添加
<?xml version='1.0' encoding='utf-8'?>
<tomcat-users>
<role rolename="manager"/>
<role rolename="admin"/>
<user username="admin" password="" roles="admin,manager"/>
</tomcat-users>
2. LR 脚本
-------------------------------------------
#include "web_api.h"
#include "lrw_custom_body.h"
double atof (const char *string); // 转格式,因为atof函数转换成double时数值都变了样
vuser_init(){
return 0;
}
Action6()
{
//定义tomcat内存使用情况的监视器事务;
lr_start_transaction("monitor tomcat");
//保存3个参数;
web_reg_save_param("JVMFreeMemory",
"LB=Free memory: ",
"RB= MB",
"Ord=1",
LAST);
web_reg_save_param("JVMTotalMemory",
"LB=Total memory: ",
"RB= MB",
"Ord=1",
LAST);
web_reg_save_param("JVMMaxMemory",
"LB=Max memory: ",
"RB= MB",
"Ord=1",
LAST);
//通过LR去访问tomcat监控页
web_set_user("admin","","127.0.0.1:8091");
web_url("status",
"URL=http://127.0.0.1:8091/manager/status",
"Resource=0",
"RecContentType=text/html",
"Referer=",
"Snapshot=t1.inf",
"Mode=HTTP",
LAST);
lr_end_transaction("monitor tomcat", LR_AUTO);
// Tomcat JVM metrics 使用lr_user_data_point()添加数据到图表中去
lr_user_data_point("Tomcat JVM Free memory", atof(lr_eval_string("{JVMFreeMemory}")));
lr_user_data_point("Tomcat JVM Total memory", atof(lr_eval_string("{JVMTotalMemory}")));
lr_user_data_point("Tomcat JVM Max memory", atof(lr_eval_string("{JVMMaxMemory}")));
return 0;
}
运行日志可以看到监控到的tomcat 数据值
-----------------------------------------
虚拟用户脚本已启动
正在开始操作 vuser_init。
Web Turbo 重播 LoadRunner 8.1.0 for WINXP; Web 内部版本 4788 [MsgId: MMSG-27143]
运行时设置文件: "C:\Documents and Settings\joan\桌面\lr TEST\test20090907\\default.cfg" [MsgId: MMSG-27141]
正在结束操作 vuser_init。
正在运行 Vuser...
正在开始迭代 1。
正在开始操作 Action6。
Action6.c(7): 通知: Transaction "monitor tomcat" started.
Action6.c(13): 注册 web_reg_save_param 成功 [MsgId: MMSG-26390]
Action6.c(23): 注册 web_reg_save_param 成功 [MsgId: MMSG-26390]
Action6.c(35): 注册 web_reg_save_param 成功 [MsgId: MMSG-26390]
Action6.c(47): web_set_user 成功 [MsgId: MMSG-26392]
Action6.c(51): web_url("status") 已成功,6503 个正文字节,493 个标头字节,12 个成块开销字节 [MsgId: MMSG-26385]
Action6.c(69): 通知: Transaction "monitor tomcat" ended with "Pass" status (Duration: 0.2604 Wasted Time: 0.0001).
Action6.c(75): 通知: Data Point "Tomcat JVM Free memory" value = 15.2500.
Action6.c(77): 通知: Data Point "Tomcat JVM Total memory" value = 36.3300.
Action6.c(79): 通知: Data Point "Tomcat JVM Max memory" value = 63.5600.
正在结束操作 Action6。
正在结束迭代 1。
正在结束 Vuser...
正在开始操作 vuser_end。
正在结束操作 vuser_end。
Vuser 已终止。