lr学习
上一篇 / 下一篇 2008-11-06 15:16:54 / 个人分类:loadrunner
使用LoadRunner监控Linux方法(转)http://www.51testing.com/?172470/action_spacelist_type_blog_itemtypeid_7937.html
2008-11-03 10:39:55
一、安装
LoadRunner监控Linux安装成功,所以共享出来,备忘. 需要下载3个包,到网上google一个吧:
(1)rsh-0.17-14.i386.rpm
(2)rsh-server-0.17-14.i386.rpm
(3)rpc.rstatd-4.0.1.tar.gz
1.安装rsh,和rsh-server两个服务包。
a. 卸载rsh
rpm –q rsh----------查看版本号
rpm -e 版本号---------卸载该版本。
b.安装
rpm –ivh rsh-0.17-14.i386.rpm rsh-server-0.17-14.i386.rpm
这两个包在我的目录下有共享。
2.下载并安装rstatd
gunzip rpc.rstatd-4.0.1.tar.gz
Tar –cvf rpc.rstatd-4.0.1.tar.
./configure ---配置
make ---编译
make install ---安装
rpc.rstatd ---启动rstatd进程
3. 打开/etc/xinetd.conf
里面内容是:
# Simple configuration file for xinetd
# Some defaults, and include /etc/xinetd.d/
defaults
{
instances = 60
log_type = SYSLOG authpriv
log_on_success = HOST PID
log_on_failure = HOST
cps = 25 30
}
includedir /etc/xinetd.d
4.重启xinetd:
A: service xinetd reload
B: /sbin/service xinetd rstart
5.修改/etc/xinetd.d/下的三个conf文件 rlogin ,rsh,rexec 这三个配置文件
打这三个文件,将里面的disable = yes都改成 disable = no (disabled用在默认的{}中禁止服务)
或是把# default: off都设置成 on ,并把“#”去掉,这个的意思就是在xinetd启动的时候默认都启动上面的三个服务!
二、验证PRC安装运行成功
检查是否启动: rsh server 监听的TCP 是514。
[root@mg04 root]# netstat -an |grep 514
tcp 0 0 0.0.0.0:514 0.0.0.0:* LISTEN
如果能看到514在监听说明rsh服务器已经启动。
# rpcinfo –p 127.0.0.1若有性能数据返回,具体参见如下步骤
未启动rpc前,通过rpcinfo得到的数据为,一个端口号为111的protmapper的服务
[root@EMS root]# rpcinfo -p 127.0.0.1
program vers proto port
100000 2 tcp 111 portmapper
100000 2 udp 111 portmapper
100024 1 udp 32768 status
100024 1 tcp 32768 status
以上说明portmapper启动了,但rstatd进程还没起来。
如果portmap未启动,会报如下错误:
Cannot register service: RPC: Unable to receive; errno = Connection refused
启动portmap:
#/etc/rc.d/init.d/portmap start //启动portmap
[root@EMS root]# whereis rpc.rstatd
rpc: /usr/src/patch-o-matic-ng-20040302/rpc /sbin/rpc.lockd /sbin/rpc.statd /usr/sbin/rpc.rquotad /usr/sbin/rpc.yppasswdd /usr/sbin/rpc.mountd /usr/sbin/rpc.nfsd /usr/sbin/rpc.ypxfrd /etc/rpc/usr/local/sbin/rpc.rstatd/usr/include/rpc /usr/share/man/man3/rpc.3.gz /usr/share/man/man5/rpc.5.gz
用 whereis rpc.rstatd命令是用来找rpc.rstatd这个执行文件的路径。
[root@EMS root]# /usr/sbin/rpc
rpc.mountd rpc.nfsd rpc.rquotad rpc.yppasswdd rpc.ypxfrd rpcinfo
通过/usr/sbin/rpc敲入制表符,则系统会提示其路径下是些什么文件. (作用类似于ls)
[root@EMS root]# /usr/sbin/rpc.rquotad
[root@EMS root]# /usr/lo
local lost+found
[root@EMS root]# /usr/local/sbin/rpc.rstatd
运行rpc.rstatd命令
[root@EMS root]# rpcinfo -p 127.0.0.1
program vers proto port
100000 2 tcp 111 portmapper
100000 2 udp 111 portmapper
100024 1 udp 32768 status
100024 1 tcp 32768 status
100011 1 udp 688 rquotad
100011 2 udp 688 rquotad
100011 1 tcp 691 rquotad
100011 2 tcp 691 rquotad
100001 5 udp 699 rstatd
100001 3 udp 699 rstatd
100001 2 udp 699 rstatd
100001 1 udp 699 rstatd
此时检查到rstatd已运行。
Loadrunner IP欺骗(转)
2008-10-29 19:10:20
使用loadrunner进行IP欺骗首先要注意以下两点:
1、 本地的IP设置不能为“自动获取”,必须指定一个静态IP
如果本地是动态获取IP,在运行IP Wizard时会弹出提示:
The IP wizard does not support DHCP-enabled network cards.
Your cards are either DHCP-enabled or configured with invalid settings.
Please contact your system administrator.
此时只需要将IP地址改成静态IP地址就可以了
2、 所添加的IP只能是局域网内的网段
只能添加192段,127段,10段IP地址
好下面开始介绍如何使用IP欺骗
一、添加IP地址
第一步:
运行Mercury LoadRunner- Tools-IP Wizard
弹出的IP设置向导中的各项含义如下:
1、 create new setting 新建IP列表
当我们第一次使用IP欺骗或已经释放所添加的IP时,需要选择此项添加新的IP地址
2、 load previous setting from file 读取IP列表文件
从以前设置的IP地址列表文件中读取IP地址
3、 restore original setting 释放已设置的IP
释放已经添加的IP地址
说明:loadrunner在做IP欺骗时,真实的虚拟了IP地址,该IP地址均真实存在,可以ping通,可以建立网络链接,在不使用时必须进行释放,否则这些IP地址将一直存在。
第二步:
选择create new setting,点击“下一步”
此时出现的页面是让输入服务器的IP地址,loadrunner通过该地址更新路由表。
客户端计算机上添加新的IP地址后,服务器需要将该地址添加到路由表,以便能够识别返回到客户端的路由。如果服务器和客户端具有相同的子网掩码、IP类和网络,则不需要修改服务器的路由表。
注意:如果客户端和服务器计算机之间有一个路由器,则服务器需要识别经过该
路由器的路径。确保将以下路由添加到服务器路由表:从Web服务器到路由器
的路由,以及从路由器到负载生成器计算机上的所有IP地址的路由。
第三步:
在输入服务器地址的页面中不输入任何地址,直接点击“下一步”
进入IP添加页面
点击“add”进行添加
第四步:
在from ip输入框中输入起始ip,在Number to输入框中输入ip地址的位数
输入正确的子网掩码
选中“verify that new ip addresses are not already used”
点击“ok”,此时IP Wizard会自动按照设置生成IP地址,并且将已经占用的IP列出
第五步:
确认可用IP地址列表内容后,点击“ok”
此时IP Wizard提示需要重新启动计算机,点击“save as”保存IP列表
点击“ok”,重新启动计算机
第六步:
计算机重新启动后,在运行行中输入:CMD,在DOS命令窗口中输入:IPCONFIG,此时便可看到虚拟的IP地址均已经被启用
二、在loadrunner中使用虚拟IP
第一步:
打开controller,在controller中,选择Scenario-〉Enable IP Spoofer,此项设置允许使用IP欺骗。
第二步:
设计场景:
有两种方案来设计场景
1、 本地使用虚拟IP设计场景(不带负载生成器使用localhost进行测试)
在设置该类场景时,在场景中添加一个录制好的脚本,该脚本中添加如下代码便可看到虚拟用户在使用哪个IP地址进行消息发送,该场景是通过线程方式进行性能测试。
char * ip;
ip=lr_get_vuser_ip();
if (ip)
{
lr_vuser_status_message("The ip address is %s",ip);
}
else
lr_vuser_status_message("IP spoofing disabled");
在controller中执行该脚本时,查看虚拟用户运行状态,便可看到当前虚拟用户使用的哪个IP地址发送消息
2、 负载生成器使用虚拟IP设计场景
在设置该类场景时,需要添加负载生成器,建立负载生成器时输入创建的虚拟IP,每个负载生成器为一个虚拟用户组,该场景是通过进程方式进行性能测试。
如何添加负载生成器创建场景在这里就不多描述了。
但需要注意,选中Tools下的Expert mode,启动专家模式
再点击Tools下的options
在Genearl选项卡中设置已线程方式或进程方式进行性能测试,这个选项一定要与当前场景的模式相匹配,也就是说使用本地虚拟IP测试时需要选中线程方式,使用负载生成器使用虚拟IP测试时需要选中进程方式
三、使用虚拟IP测试完成后
打开IP Wizard,释放所有虚拟IP。
重新启动计算机
Loadrunner学习笔记之ip欺骗(转)
2008-10-29 19:02:35
1.在总控机上使用loadrunner->tools->ip wizard工具设置虚拟ip,其中server ip指要监控的服务器的ip,添加ip时选择A、B或C类ip,设置开始ip和要添加的虚拟ip的个数,并选中verify the new ip addresses are not already use,已检查添加的ip是否与局域网中的其它ip冲突
2.重启机器
3.在controller的scenario中勾选enable ip spoofer,启用虚拟ip
3.在controller的tools中选中expert mode,在options->general中设置multiple ip address mode与run-time settings中的multithreading设置保持一致
4.在load generators中选择localhost
查看脚本执行过程中是否使用了设置的虚拟ip,可以如下设置:
在脚本中添加代码:
char *ip = lr_get_vuser_ip();
if (ip)
lr_output_message("The IP address is %s", ip);
else
lr_output_message("IP spoofing disabled");
在脚本运行过程中查看controller的output,view->show output,选择all messages,查看输出的ip是否为设置的虚拟ip
造成HTTP-500错误,可能存在的原因之个人实践总结(转)
2008-10-27 15:12:26
造成HTTP-500错误,可能存在的原因之个人实践总结
1、运行的用户数过多,对服务器造成的压力过大,服务器无法响应,则报HTTP500错误。
减小用户数或者场景持续时间,问题得到解决。
2、该做关联的地方没有去做关联,则报HTTP500错误。进行手工或者自动关联,问题得到
解决。
3、录制时请求的页面、图片等,在回放的时候服务器找不到,则报HTTP500错误,若该页
面无关紧要,则可以在脚本中注释掉,问题将会得到解决。例如:有验证码的情况下,尽
管测试时已经屏蔽了,但是录制的时候提交了请求,但回放的时候不存在响应。
4、参数化时的取值有问题,则报HTTP500错误。可将参数化列表中的数值,拿到实际应用
系统中进行测试,可排除问题。
5、更换了应用服务器(中间件的更换,如tomcat、websphere、jboss等),还是利用原
先录制的脚本去运行,则很可能报HTTP500错误。因为各种应用服务器处理的机制不一样
,所录制的脚本也不一样,解决办法只有重新录制脚本。
6、Windows xp2 与ISS组件不兼容,则有可能导致HTTP500错误。对ISS组件进行调整后问
题解决。
7、系统开发程序写的有问题,则报HTTP500错误。例如有些指针问题没有处理好的,有空
指针情况的存在。修改程序后问题解决。
8、如果测试中所进行的操作需要向数据库中插入数据,若大数据量的情况下导致数据库中表空间已满,或者缓冲池较小无法满足数据的存取等,都有可能导致HTTP500错误。调整数据库、修改连接池大小,问题解决。
lr_save_string 和 sprintf 的使用(转)
2008-10-27 11:47:39
一、lr_save_string 使用介绍
1.该函数主要是将程序中的常量或变量保存为lr中的参数。
intlr_save_string(const char *param_value, const char *param_name);
函数目的:将param_value值保存到param_name变量中
参数介绍:param_value:要保存的值
param_name:变量名称
char *tmp="hello";
lr_save_string("777","page");
lr_output_message(lr_eval_string("{page}"));
//将变量保存为参数,tmp为变量
lr_save_string(tmp,"page");
lr_output_message(lr_eval_string("{page}"));
结果:777
hello
二、sprintf函数
定义函数 | int sprintf( char *str,const char * format,.........); | ||||||||||||||||||||||||||||||||||||||||||||||||||||
函数说明 | sprintf()会根据参数format字符串来转换并格式化数据,然后将结果复制到参数str所指的字符串数组,直到出现字符串结束(’\0’)为止。关于参数format字符串的格式请参考printf()。 | ||||||||||||||||||||||||||||||||||||||||||||||||||||
返回值 | 成功则返回参数str字符串长度,失败则返回-1,错误原因存于errno中。 | ||||||||||||||||||||||||||||||||||||||||||||||||||||
附加说明 | 使用此函数得留意堆栈溢出,或改用snprintf()。 | ||||||||||||||||||||||||||||||||||||||||||||||||||||
范例 | #include<stdio.h> main() { cha 相关阅读:
TAG: loadrunner 标题搜索日历
我的存档数据统计
清空Cookie - 联系我们 - 51Testing软件测试网 - 交流论坛 - 空间列表 - 站点存档 - 升级自己的空间
Powered by 51Testing
© 2003-2021
|