LoadRunner监控Tomcat性能以及tomcat环境部署

摘要:Tomcat环境部署 一、安装JDK和Tomcat 1,安装JDK:默认安装即可。 备注:路径可以其他盘符,不建议路径包含中文名及特殊符号。 2、安装Tomcat:直接解压缩下载文件“apache-tomcat-7.0.70.zip”到C盘下。安装路径建议修改为:c:\tomcat。 备注:如下载的是可执行文件,双击

Tomcat环境部署

一、安装JDK和Tomcat

1,安装JDK:默认安装即可。

备注:路径可以其他盘符,不建议路径包含中文名及特殊符号。

2、安装Tomcat:直接解压缩下载文件“apache-tomcat-7.0.70.zip”到C盘下。安装路径建议修改为:c:\tomcat。

备注:如下载的是可执行文件,双击运行,默认安装即可。


二、配置JDK环境变量(在步骤查看如何配置环境变量)

1,新建变量名:JAVA_HOME,变量值:C:\Program Files (x86)\Java\jdk1.8.0_11

2,打开PATH,添加变量值:%JAVA_HOME%\bin;%JAVA_HOME%\jre\bin

3,新建变量名:CLASSPATH,变量值:.;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar


三、测试JDK

在CMD命令下输入javac,java,javadoc命令:出现图示界面,表示安装成功。

步骤阅读


四、配置Tomcat环境变量

1,新建变量名:CATALINA_BASE,变量值:C:\tomcat

2,新建变量名:CATALINA_HOME,变量值:C:\tomcat

3,打开PATH,添加变量值:%CATALINA_HOME%\lib;%CATALINA_HOME%\bin


五、启动Tomcat服务

在CMD命令下输入命令:startup,出现如下对话框,表明服务启动成功。

步骤阅读六、测试Tomcat

由于端口8080被占用,打开C:\tomcat\conf\server.xml文件,找到如下:

<Connector port="8080" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443" />

把端口8080,改成8089。打开浏览器,在地址栏中输入http://localhost:8089或者http://127.0.0.1:8089回车,如果看到Tomcat自带的一个JSP页面,说明你的JDK和Tomcat已搭建成功。

Loadrunner 监控tomcat

打开loadrunn选择协议HTTP

设置录制的URL Address:http://127.0.0.1:8089/

3.编辑loadrunner脚本

使用LoadRunner做性能测试,监控一些中间件或web服务器的性能时,需要手工来编写脚本。Loadrunner中lr_user_data_point、lr_user_data_point_instance两个函数可以用来记录一条自定义的Vuser运行数据,并将其输出到测试结果中,最后可以通过分析工具Analysis来分析数据采集情况。两者之间的区别是lr_user_data_point_instance函数可以用来记录指定事物实例的自定义数据。函数语法:

int lr_user_data_point (const char *sample_name,doublevalue);

long lr_user_data_point_instance (constchar *sample_name,doublevalue, long transaction_handle);


在LoadRunner中,有一个专门的函数 web_set_user 可以实现输入windows认证信息。

web_set_user()函数带三个参数,分别是 域用户名、口令和需要登录的服务器名称和端口,第一个参数需要注意的是一定要带上域名,其格式为\\windomainname\username,而最容易混淆的莫过于第三个参数了。特别需要注意的是,第三个参数是“需要认证的服务器名:端口”,假设你要访问的web url 是 http://requireauth/login.asp,则第三个参数应该是“requireauth:80”,有些朋友错误的写成“http://requireauth:80”或是“requireauth/login.asp:80”,都是不正确的。

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

实现步骤:

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

<tomcat-users>

<role rolename="manager-gui"/>

<user username="root"password="123456" roles="manager-gui "/>

</tomcat-users>

2、在Action脚本中,使用web_set_user("username","password","tomcatIP:port");

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

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

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

VuGen脚本代码如下:

Action_tomcat() { //显示申明atof函数 //该函数功能:把字符串转换成浮点数 //返回值:每个函数返回 double 值,此值由将输入字符作为数字解析而生成.如果该输入无法转换为该类型的值,则返回值为 0.0 double atof(const char * string); //手动关联保存剩余内存值在变量 "FreeMemory"中 web_reg_save_param("FreeMemory", "LB=Free memory: ", "RB= MB", "Ord=1", LAST); //手动关联保存总的内存值在变量 "TotalMemory"中 web_reg_save_param("TotalMemory", "LB=Total memory: ", "RB= MB", "Ord=1", LAST); //手动关联保存最大内存值在变量 "MaxMemory"中 web_reg_save_param("MaxMemory", "LB=Max memory: ", "RB= MB", "Ord=1", LAST); //手动关联保存最大http请求最大线程值在变量 "MaxThreads"中 web_reg_save_param("MaxThreads", "LB=Max threads: ", "RB= ", "Ord=1", LAST); //手动关联保存最大http请求最大进程值在变量 "MaxProcessingTime"中 web_reg_save_param("MaxProcessingTime", "LB=Max processing time: ", "RB= s", "Ord=1", LAST); //手动关联保存http请求数在变量 "RequestCount"中 web_reg_save_param("RequestCount", "LB=Request count: ", "RB= ", "Ord=1", LAST); //手动关联保存http接收的字节数在变量 "BytesReceived"中 web_reg_save_param("BytesReceived", "LB=Bytes received: ", "RB= MB", "Ord=1", LAST); //用户登录tomcat web_set_user("root","123456","127.0.0.1:8089"); //设置思考时间为3秒 lr_think_time(3); //根据函数中的URL属性加载对应的URL,不需要上下文,并登陆 web_url("status", "URL=http://127.0.0.1:8089/manager/status", "Resource=0", "Referer=", "Snapshot=t1.inf", "Mode=HTML", LAST); /* int lr_user_data_point (const char *sample_name, double value); 函数名:lr_user_data_point 参数列表:onst char *sample_name, double value 功能:用来记录一条自定义的Vuser运行数据,并将其输出到测试结果中,最后可以通过分析工具Analysis来分析数据采集情况 */ lr_user_data_point("Tomcat_FreeMemory",atof(lr_eval_string("{FreeMemory}"))); lr_user_data_point("Tomcat _TotalMemory",atof(lr_eval_string("{TotalMemory}"))); lr_user_data_point("Tomcat_MaxMemory",atof(lr_eval_string("{MaxMemory}"))); lr_user_data_point("Tomcat_MaxThreads",atof(lr_eval_string("{MaxThreads}"))); lr_user_data_point("Tomcat_MaxProcessingTime",atof(lr_eval_string("{MaxProcessingTime}"))); lr_user_data_point("Tomcat_ProcessingTime",atof(lr_eval_string("{ProcessingTime}"))); lr_user_data_point("Tomcat_RequestCount",atof(lr_eval_string("{RequestCount}"))); lr_user_data_point("Tomcat_BytesReceived",atof(lr_eval_string("{BytesReceived}"))); return 0; }