本周终于有完整的一周时间做电销人身险测试了。可以比较集中的解决一些最近一直困扰的问题了之前一直几个问题困扰着,今天终于解决了一部分。这些还真的感谢我们项目组的同事们,这就叫做三个臭皮匠能顶一个诸葛亮啊。
系统规则是这样的:电销系统出单---报文的形式发送给邮保通系统---再传给核心系统----传数据给邮保通系统---报文的形式发送给电销系统,中间有几个系统之间的交互。但是本次测试的压力点和场景都是在电销系统。要监测电销和邮保通两个系统的相关性能指标。
我主要使用的测试工具是loadrunner 8.1对于其中一些性能指标:响应时间,吞吐量,事务成功率都可以监控。但是对于一些其他的要素:CPU利用率,RAM利用率,数据库并发数,数据库锁资源使用量。监控起来比较麻烦。
目前由于一直无法申请到独立的测试环境,所以这些测试都只有在日常测试机上进行。电销的服务器是一台装有WINDOWS XP的系统,是独立的, 基本上很少人使用。邮保通系统是和其他的服务在同一台UNIX服务器上的,安装的应用服务器为WEBLOGIC8 。通常情况下我们监控WINDOWS系统的时候通过查看管理工具--性能--系统监视器查看CPU,RAM的使用情况,但是如果要记录一段时间的,如2H的稳定性测试,这个就不实用了。虽然查看过资料,可以创建性能日志,但是保存的形式为*.blg的形式,虽说是可以转换成其他格式如*.cvs.但是到目前为止还是没能打开,打开显示都是乱码。在UNIX下监控性能指标,原来是准备使用vmstat来记录CPU的使用。使用weblogic下面的consloe来监控RAM。但是RAM的监控只能是实时的不能监控一段时间的。
后来发现loadrunner8.1有监控WINDOWS 和UNIX系统的功能,关键是要解决如何连接上服务器。今天我通过如下资料一一解决了这些问题.
////*** LR监控windows、linux方法 ***///////
一、监控windows系统:
1、监视连接前的准备工作
1)进入被监视windows系统,开启以下二个服务Remote Procedure Call(RPC) 和Remote Registry Service (开始—)运行 中输入services.msc,开启对应服务即可)。
2)在被监视的WINDOWS机器上:右击我的电脑,选择管理->共享文件夹->共享 在这里面要有C$这个共享文件夹 (要是没有自己手动加上)。
3)在安装LR的机器上,开始—》运行,输入 //被监视机器IP/C$ 然后输入管理员帐号和密码,如果能看到被监视机器的C盘了,就说明你得到了那台机器的管理员权限,可以使用LR去连接了。(LR要连接WINDOWS机器进行监视要有管理员帐号和密码才行。)
问题:在执行步骤3)时,输入 //被监视机器IP/C$,出现不能以administrator身份访问被监控系统(若采用这种方式用LR对其监控的话,会提示:“找不到网络路径”)的情况,现象就是用户名输入框是灰 {MOD}的,并且默认用户是guest。
解决办法:这是安全策略的设置问题(管理工具 -> 本地安全策略 -> 安全选项 -> "网络访问:本地帐户的共享和安全模式")。默认情况下,XP的访问方式是"仅来宾"的方式,如果你访问它,当然就固定为Guest来访问,而guest账户没有监控的权限,所以要把访问方式改为“经典”模式,这样就可以以administrator的身份登陆了。修改后,再次执行步骤3),输入管理员用户名和密码,就可以访问被监控机器C盘了
若这样都不行的话(可能是其它问题引起的),那只好采取别的方法了。在服务器的机子上,通过windows自带的“性能日志和警报”下的“计数器日志”中新增加一个监控日志(管理工具—)性能—)性能日志和警报),配置好日志,也能监控服务器的cpu、memory、disk等计数器。当然,这种方法就不是用LR来监控了。
2、用LR监视windows的步骤
在controller 中,Windows Resources窗口中右击鼠标选择Add Measurements,添加被监控windows的IP地址,选择所属系统,然后选择需要监控的指标就可以开始监控了。
二、监控linux
1 准备工作
1)首先,监视Linux一定要有rstatd这个守护进程,有的Linux版本里也有可能是rpc.rstatd这里只是名字不同而已,功能是一样的。一般来说LINUX需要下载一个包才有这个服务,包名字是rpc.rstatd-4.0.1.tar.gz. 这是一个源码,需要编译,下载并安装rstatd(可以在http://sourceforge.net/projects/rstatd这个地址下载)
下载后,开始安装,安装步骤如下:
tar -xzvf rpc.rstatd-4.0.1.tar.gz
cd rpc.rstatd-4.0.1/
./configure —配置操作
make —进行编译
make install —开始安装
rpc.rstatd —启动rstatd进程
2)安装完成后配置rstatd 目标守护进程xinetd,它的主配置文件是/etc/xinetd.conf ,它里面内容是一些如下的基本信息:
#
# xinetd.conf
#
# Copyright (c) 1998-2001 SuSE GmbH Nuernberg, Germany.
# Copyright (c) 2002 SuSE Linux AG, Nuernberg, Germany.
#
defaults
{
log_type = FILE /var/log/xinetd.log
log_on_success = HOST EXIT DURATION
log_on_failure = HOST ATTEMPT
# only_from = localhost
instances = 30
cps = 50 10
#
# The specification of an interface is interesting, if we are on a firewall.
# For example, if you only want to provide services from an internal
# network interface, you may specify your internal interfaces IP-Address.
#
# interface = 127.0.0.1
}
includedir /etc/xinetd.d
我们这里需要修改的是/etc/xinetd.d/下的三个conf文件 rlogin ,rsh,rexec 这三个配置文件,打这三个文件里的disable = yes都改成 disable = no ( disabled 用在默认的 {} 中 禁止服务)或是把# default: off都设置成 on 这个的意思就是在xinetd启动的时候默认都启动上面的三个服务!
说明:我自己在配置时,没有disable = yes这项,我就将# default: off改为:default: on,重启后(cd /etc/init.d/ ./xinetd restart)通过netstat -an |grep 514查看,没有返回。然后,我就手动在三个文件中最后一行加入disable = no,再重启xinetd,再使用netstat -an |grep 514查看,得到tcp 0 0 0.0.0.0:514 0.0.0.0:* LISTEN结果,表明rsh服务器已经启动。
只要保证Linux机器上的进程里有rstatd和xinetd这二个服务就可以用LR去监视了
两点小的技巧:
1)检查是否启动: 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服务器已经启动。
2)检查是否启动: rstatd
输入命令: rpcinfo -p
如果能看到类似如下信息:
程序 版本 协议 端口
100001 5 udp 937 rstatd
100001 4 udp 937 rstatd
100001 3 udp 937 rstatd
100001 2 udp 937 rstatd
100001 1 udp 937 rstatd
那就说明rstatd服务启动了,(当然这里也可以用ps ax代替)
3)重起xinetd方法:
在有的系统中,通过如下命令重启:
# service xinetd reload
# /sbin/service xinetd rstart
在suse linux 中如下操作:
cd /etc/init.d/
./xinetd restart
最后,在controller中,将UNIX resources拖放到右边窗口里面,右击鼠标选择Add Measurements,添加被监控linux的IP地址,然后选择需要监控的指标就可以了。
三、监控UNIX
lr监控UNIX ,UNIX先启动一rstatd服务
以下是在IBM AIX系统中启动rstatd服务的方法:
1、 使用telnet以root用户的身份登录入AIX系统
2、 在命令行提示符下输入:vi /etc/inetd.conf
3、 查找rstatd,找到
#rstatd sunrpc_udp udp wait root /usr/sbin/rpc.rstatd rstatd 100001 1-3
4、将#去掉
5、:wq保存修改结果
6、命令提示符下输入:refresh –s inetd 重新启动服务。
这样使用loadrunner就可以监视AIX系统的性能情况了。
通过以上方法解决了了对WINDOWS和UNIX系统的监控问题。但是目前还是没有解决对于数据库的监控方面的问题,初步已经有眉目了,明天应该可以解决这些问题,再接再励。这是我接手的第一个性能测试任务,希望能够在其中多学习一些知识。