Loadrunner在Controller中配置WebSphere监控器
- 格式:doc
- 大小:73.50 KB
- 文档页数:10
使用LoadRunner8.0在WebSphere上配置J2EE诊断模块步骤尚勇 .testfocus.(原创文章,如欲,请注明出处)一.WebSphere5.0配置方法:1.安装LoadRunner8.0与安装WebSphere过程在此不赘述。
2.在AIX操作系统上,安装J2EE_Probe_For_AIX (install.sh),图例中安装路径为:/opt/mon/JavaProbe,安装后的文件如下图所示:3.Probe安装完成后,不需要任何的配置,只需要在WebSphere上做相应环境变量的定义即可。
下面图示为WebSphere 5.0版本的配置方法。
从IE浏览器登入WebSphere管理界面:服务器――》应用程序服务器――>选择要监控的服务器,图示为server14.在Server1的“配置”tab里,选择“其他属性”内的“进程定义”5.在进程定义的配置tab里面,也有常规属性和其他属性,选择“其他属性”的“Java 虚拟机”,如下图标注:6.有两个属性需要填写。
一个是类路径,其二是引导类路径。
类路径需要填写《J2EE_Probe 所在目录》/dat,本例正确填法就是/opt/mon/JavaProbe/dat;引导类路径正确填法就是:/opt/mon/JavaProbe/classes/boot,如下图所示:7.点击“应用”,保存刚才的改动。
8.再点击“保存”两次。
9.选择刚才配置的应用服务器节点“server1”,先点击“停止”,再点击“启动”,使节点Server1刚才的改动生效。
二.WebSphere4.0配置方法:与WebSphere5.0不同的地方就是界面,4.0是window配置界面。
1.在节点—》应用服务器――》选择相应的需要配置的服务器,例子里是Default Server,点击属性里面的“Environment…”2.Name的值填写“CLASSPATH”,Value的值填写Probe的安装路径/dat,本例中为:/opt/mon/JavaProbe/dat,如下图所示:3.点击属性里面的“JVM Settings”Tab,选择“Advanced JVM Settings”4.在标题为“Advanced JVM Settings”的窗口里面,找Boot classpath (prepend),在里面填入《J2EE_Probe安装目录》/classes/boot,本例即为:/opt/mon/JavaProbe/classes/boot5.每做一次改动都需要点击窗口下端的“Apply”,使更改生效。
LoadRunner 压力测试1.基本步骤使用LoadRunner 完成测试一般分为四个步骤:1)Visual User Generator创建脚本创建脚本,选择协议录制脚本编辑脚本检查修改脚本是否有误2)中央控制器(Controller)来调度虚拟用户创建Scenario,选择脚本设置机器虚拟用户数设置Schedule如果模拟多机测试,设置Ip Spoofer3)运行脚本分析scenario4)分析测试结果2.使用LoadRunner 进行负载/压力测试2.1录制基本的用户脚本创建用户脚本需要用到VuGen。
提示:运行VuGen 最好在1024*768 的分辨率下,否则有些工具栏会看不到。
启动Visual User Generator 后,通过菜单新建一个用户脚本,选择系统通讯的协议。
这里我们需要测试的是Web 应用,同时考虑到后台SQL 数据库所以我们需要选择Web(HTTP/HTML)协议,确定后,进入主窗体。
通过菜单来启动录制脚本的命令。
在URL 中添入要测试的Web 站点地址;测试http://192.168.0.4:8888 选择要把录制的脚本放到哪一个部分,默认情况下是“vuser_init”。
这里简单说明一下:VuGen 中的脚本分为三部分:vuser_init、vuser_end 和Action。
其中vuser_init 和vuser_end 都只能存在一个,不能再分割,而Action 还可以分成无数多个部分(通过点击New 按钮,新建ActionXXX)。
在录制需要登陆的系统时,我们把登陆部分放到vuser_init 中,把登陆后的操作部分放到Action 中,把注销关闭登陆部分放到vuser_end 中。
(如果需要在登陆操作设集合点,那么登陆操作也要放到Action 中,因为vuser_init 中不能添加集合点)在其他情况下,我们只要把操作部分放到Action 中即可。
注意:在重复执行测试脚本时,vuser_init 和vuser_end 中的内容只会执行一次,重复执行的只是Action 中的部分。
Loadrunner中参数的设置在做负载或者压力测试时,很多人选择使用了Loadrunner测试工具。
该工具的基本流程是先将用户的实际操作录制成脚本,然后产生数千个虚拟用户运行脚本(虚拟用户可以分布在局域网中不同的PC 机上),最后生成相关的报告以及分析图。
但是在录制脚本的过程中会遇到很多实际的问题,比如不同的用户有不同的使用数据,这就牵涉到参数的设置问题。
本文就Loadrunner中参数的设置进行说明,希望对大家有所帮助。
录制程序运行的过程中,VuGen(脚本生成器)自动生成了包含录制过程中实际用到的数值的脚本。
如果你企图在录制的脚本中使用不同的数值执行脚本的活动(如查询、提交等等),那么你必须用参数值取代录制的数值。
这个过程称为参数化脚本。
本文主要包括如下内容:理解参数的局限性、建立参数、定义参数的属性、理解参数的类型、为局部数据类型设置参数的属性、为数据文件设置参数的属性、从已经存在的数据库中引入数据。
除了GUI,以下的内容适合于各种类型的用户脚本。
一、关于参数的定义在你录制程序运行的过程中,脚本生成器自动生成由函数组成的用户脚本。
函数中参数的值就是在录制过程中输入的实际值。
例如,你录制了一个Web应用程序的脚本。
脚本生成器生成了一个声明,该声明搜索名称为“UNIX”的图书的数据库。
当你用多个虚拟用户和迭代回放脚本时,也许你不想重复使用相同的值“UNIX”。
那么,你就可以用参数来取代这个常量。
结果就是你可以用指定的数据源的数值来取代参数值。
数据源可以是一个文件,也可以是内部产生的变量。
用参数表示用户的脚本有两个优点:① 可以使脚本的长度变短。
② 可以使用不同的数值来测试你的脚本。
例如,如果你企图搜索不同名称的图书,你仅仅需要写提交函数一次。
在回放的过程中,你可以使用不同的参数值,而不只搜索一个特定名称的值。
参数化包含以下两项任务:① 在脚本中用参数取代常量值。
② 设置参数的属性以及数据源。
1.Vugen选项设置在LoadRunner的Vugen中有两个选项的设置是非常重要的:Recording options和Run-time settings.前者是用来设置录制脚本过程中的一些选项,而后者是用来设置回放脚本过程中的一些选项。
1.1 Recording options设置录制脚本过程中的选项,使用方法:选择tools/recording options菜单或者直接点击工具栏上的录制选项按钮(见下图),弹出图所示对话框:下面对一些主要的选项加以介绍。
1.1.1 Recording选项Html_based script模式下mode的值为"html",模式记录为web_submit_form,默认录制模式,Url-based script模式下mode的值为"http",模式记录为web_submit_data。
两种录制方式优点对比:(一)HTML 录制优点:减少了捕获动态值的需要。
(1)资源从内存中取出且在回放时下载。
因此,脚本比其他的录制方式更小且更容易阅读。
(2)由于只有较少的硬编码脚本,因此只有较少的动态数值需要关联。
(3)可以插入图片检查之类的语句以检查结果是否正确。
(4)HMTL录制级别会为每一个HTML用户动作产生一个单独的步骤。
而且HTML方式产生的脚本非常简洁和直述,易于阅读。
(二)URL 录制优点:脚本具有灵活性和可量测性。
(1)脚本回放过程中,不再搜索内存和Cache。
(2)脚本更具可扩展性。
支持页面上的Java Applets和ActiveX对象。
(3)URL录制级别把对服务器每个对象的请求,都录制成一个单独的请求。
对业务过程有更好的控制。
如何选择两种模式?1、基于浏览器的应用程序推荐使用HTML-Based Script。
2、不是基于浏览器的应用程序推荐使用URL-Based Script。
3、如果基于浏览器的应用程序中包含了Java Script,applet等并且该脚本向服务器产生了请求,比如DataGrid的分页按钮等,也要使用URL-Based Script方式录制。
Loadrunner 资源监控手册环境配置软件环境:操作系统背景:使用SiteScope配合Loadrunner 9.5 做系统、中间件、数据库、容器的资源监控,MercyrySiteScope是一款无代理监测解决方案,可确保分布式IT基础架构——如服务器、操作系统、网络设备、网络服务、应用和应用组件的可用性和性能。
这款主动的、基于Web 界面的基础架构监测解决方案是非常简洁的,而且完全根据客户度身定制,无需在您的上线系统中增加额外的代理。
SiteScope为上线系统提供24×7的监控服务,为维护工程师及时发现问题提供帮助,确保系统架构内一切组建的正常运作。
SiteScope在大量增加检测周期的同时也降低了维护人员的工作成本。
SiteScope能够监控UNIX服务器资源、windows服务器资源、weblogic应用服务器、IIS 应用服务器、Oracle数据库、SQLServer数据库、F5、URL地址、Ping、内存、CPU、磁盘空间、服务等等系统架构内各种组建的运行状况;监控器按照指定频率对目标进行检测,一旦发现异常会及时向管理员发送意外事件的报警,警报可以通过声音提醒、email、短信等方式发送;另外,SiteScope还可以生成监测活动的汇总报告,该对象从日志文件中读取历史信息,接着总结、筛选信息,并生成图表格式的报告。
目的:具体实施步骤:安装Loadrunner(略)安装SiteScope1.在LR9.5的安装包中附带了SiteScope9.5的安装文件,在安装盘根目录下的AdditionalComponents文件夹下的Sitescope目录下包含SiteScope 9.50及升级程序SiteScope9.51的安装目录;2.进入SiteScope 9.50目录,运行HPSiteScope_v9.5_win.exe进行安装后出现如下图界面:点击,下一步选择安装目录;选择要安装的版本,我这里选择的是for loadrunner的版本;配置sitescope的服务端口(必选)及管理员邮箱(可选),注意如果8080端口已经被其他服务占用请修改为其他端口(例如曾经装过Tomcat等);输入许可证号,如果没有可以跳过(9天试用期);点击下一步后如下图;关闭浏览器;点击下一步完成安装。
Loadrunner性能监控器安装及配置培训文档中使用的操作系统版本为:Red Hat Enterprise Linux AS release 4 (Nahant Update 7)一、Unix资源监控所需软件:rpc.rstatd这里以rpc.rstatd-4.0.1.tar.gz版本为例;1、安装步骤注:安装在/usr/local目录下cd /usr/localtar xzvf rpc.rstatd-4.0.1.tar.gzcd rpc.rstatd-4.0.1./configuremakemake install安装完成后,会生成可执行文件:/usr/local/sbin/rpc.rstatd[root@luly net-snmp-5.4.2.1]# which rpc.rstatd/usr/local/sbin/rpc.rstatd/usr/local/sbin/rpc.rstatd直接执行,rpc.rstatd被启动可能遇到的问题:1)启动不成功,检查portmap是否有启动ps –e | grep portmap如果没有启动,执行:service portmap start启动程序;另查看chkconfig确认portmap系统服务是否做成开机自启动,如果没有自启动,设置开启,以免下次重启机器后又要手动开启;[root@luly rpc.rstatd-4.0.1]# chkconfig --list | grep portmapportmap 0:off 1:off 2:off 3:off 4:off 5:off 6:off//off表示开机不启动[root@luly rpc.rstatd-4.0.1]# chkconfig portmap on//这里设置开机启动[root@luly rpc.rstatd-4.0.1]# chkconfig --list | grep portmapportmap 0:off 1:off 2:on 3:on 4:on 5:on 6:off//on表示开机启动设置成功2、LR中使用rpc.rstatd1)在controller中添加“系统资源图”—“UNIX资源”计数器,2)在右方的曲线图上点击右键,选择“添加度量”,在弹出的UNIX资源图上,添加计算机:3)如果是中文版LR,要把资源度量中的三项删除,再添加新的统计信息;4)上述步骤操作后,就等待出现监控图吧!注:默认是显示“最后一个60秒”,这个通常是测试是否能够正常连接时使用;在真正执行场景时,要改为“整个场景”;在曲线图上点击右键选择“配置”,在图配置窗口中修改,如下图:二、SNMP工具的使用所需软件snmp这里以:net-snmp-5.4.2.1.tar.gz版本为例;1、系统自带的SNMP首先确认系统是否已经自带了snmp,如果有,就不需要安装了确认方法:[root@228zzytest ~]# chkconfig --list | grep snmpsnmpd 0:关闭1:关闭2:关闭3:关闭4:关闭5:关闭6:关闭snmptrapd 0:关闭1:关闭2:关闭3:关闭4:关闭5:关闭6:关闭如果chkconfig --list | grep snmp的结果为空,表示系统未自动安装;如果有如上述一样的信息,表示安装系统时,已自动安装了snmp,那么直接使用系统自带的snmp即可;系统自带的SNMP,相关信息:程序位置:/etc/rc.d/init.d/snmpd或/usr/sbin/snmpd配置文件位置:/etc/snmp/snmpd.conf修改配置文件:/etc/snmp/snmpd.conf搜索systemview修改前:view systemview included .1.3.6.1.2.1.1view systemview included .1.3.6.1.2.1.25.1.1增加一句:view systemview included .1.3.6.1.2.1修改后:view systemview included .1.3.6.1.2.1view systemview included .1.3.6.1.2.1.1view systemview included .1.3.6.1.2.1.25.1.1启动\重启snmpd:service snmpd start\restart/etc/rc.d/init.d/snmpd start\restart/usr/sbin/snmpd start\restart2、安装步骤注:安装在/usr/local目录下cd /usr/localtar xzvf net-snmp-5.4.2.1.tar.gzcd net-snmp-5.4.2.1./configure(小括号中为configure时的信息:************** Configuration Section **************You are about to be prompted with a series of questions. Answer them carefully, as they determine how the SNMP agent and relatedapplications are to function.After the configure script finishes, you can browse the newly created net-snmp-config.h file for further - less important - parameters tomodify. Be careful if you re-run configure though, since net-snmp-config.h will be overwritten.-Press return to continue-//这里按回车……*** Default SNMP Version:Starting with Net-SNMP 5.0, you can choose the default version of the SNMP protocol to use when no version is given explicitly on thecommand line, or via an 'snmp.conf' file. In the past this was set toSNMPv1, but you can use this to switch to SNMPv3 if desired. SNMPv3 will provide a more secure management environment (and thus you'reencouraged to switch to SNMPv3), but may break existing scripts thatrely on the old behaviour. (Though such scripts will probably need tobe changed to use the '-c' community flag anyway, as the SNMPv1command line usage has changed as well.).At this prompt you can select "1", "2" (for SNMPv2c), or "3" as the default version for the command tools (snmpget, ...) to use. Thiscan always be overridden at runtime using the -v flag to the tools, orby using the "defVersion" token in your snmp.conf file.Providing the --with-default-snmp-version="x" parameter to ./configure will avoid this prompt.Default version of SNMP to use (3)://这里输入2,默认为3,我们使用的是2版本//后面几处都输入回车即可)makemake install安装成功后,会生成可执行文件:/usr/local/sbin/snmpd[root@luly net-snmp-5.4.2.1]# which snmpd/usr/local/sbin/snmpd直接执行/usr/local/sbin/snmpd,就可启动snmp安装过程可能遇到的错误:1)make 及make install时,如果有如下报错:grep: /usr/lib/: No such file or directory/bin/sed: can't read /usr/lib/: No such file or directorylibtool: link: `/usr/lib/' is not a valid libtool archivemake[1]: *** [] Error 1make[1]: Leaving directory `/usr/local/net-snmp-5.4.2.1/agent'make: *** [subdirs] Error 1说明缺少 ,libbeecrypt.so等共享库如果确认系统中有,也许他安装在/usr/local下面,可尝试:ln -s /usr/local/lib/ /usr/lib/如果/usr/local下面没有,那么你必须安装beecrypt下载路径:/sourceforge/beecrypt/beecrypt-4.2.1.tar.gzBeecrypt安装:cd /usr/localtar xzvf beecrypt-4.2.1.tar.gzcd beecrypt-4.2.1./configuremakemake installln -s /usr/local/lib/ /usr/lib/安装完beecrypt后,回到net-snmp目录再make&make installcd /usr/local/net-snmp-5.4.2.1makemake install2)如果make过程中有报如下错误:/usr/bin/ld: cannot find -lelfcollect2: ld returned 1 exit statusmake[1]: *** [snmpd] Error 1make[1]: Leaving directory `/usr/local/net-snmp-5.4.2.1/agent'make: *** [subdirs] Error 1解决方法:ln -s /usr/lib/libelf.so.1 /usr/lib/libelf.so再回到net-snmp目录进行:make&make installcd /usr/local/net-snmp-5.4.2.1makemake install3、安装的SNMP配置文件修改使用net-snmp-5.4.2.1.tar.gz安装成功后,会发现找不到snmpd.conf文件cd /usr/local/net-snmp-5.4.2.1mkdir /usr/local/etc/snmpcp EXAMPLE.conf /usr/local/etc/snmp/snmpd.conf修改配置文件:原文件内容:# source communitycom2sec local localhost COMMUNITYcom2sec mynetwork NETWORK/24 COMMUNITY修改后内容:# source communitycom2sec local 192.168.146.228 public//被监控服务器的IPcom2sec mynetwork 192.168.146.0/24 public//监控客户端所在的网段com2sec mynetwork 192.168.133.0/24 public//如果需要,可以增加多个监控网段原文件内容:# context sec.model sec.level match read write notifaccess MyROGroup "" any noauth exact all none noneaccess MyRWGroup "" any noauth exact all all none修改后内容:# context sec.model sec.level match read write notifaccess MyROGroup "" any noauth exact all all noneaccess MyRWGroup "" any noauth exact all all none保存修改,退出,重启snmpd:[root@luly net-snmp-5.4.2.1]# ps -e | grep snmpd //查看进程6126 ? 00:00:00 snmpd[root@luly net-snmp-5.4.2.1]# kill 6126//杀死PID为6126的进程[root@luly net-snmp-5.4.2.1]# /usr/local/sbin/snmpd//启动snmpd[root@luly net-snmp-5.4.2.1]# ps -e | grep snmpd //确认是否启动成功6143 ? 00:00:00 snmpd //(PID有变,说明有重启过)4、LR中使用SNMP监控内存1)在controller中添加“系统资源图”—“SNMP”计数器,2)在右方的曲线图上点击右键,选择“添加度量”,在弹出的SNMP窗口,添加计算机:3)添加资源度量;增加内存的度量:上图:Internet-mgmt-mib-2-host-hrStorageTable-hrStorageEntry-hrStorageUsed,这个路径下的数字,表示各种内存的含义;具体含义,可以linux后台执行snmpwalk查看:[root@luly net-snmp-5.4.2.1]# snmpwalk -v 2c 192.168.133.166 -c public .1.3.6.1.2.1.25.2 HOST-RESOURCES-MIB::hrStorageDescr.1 = STRING: Physical memoryHOST-RESOURCES-MIB::hrStorageDescr.3 = STRING: Virtual memoryHOST-RESOURCES-MIB::hrStorageDescr.6 = STRING: Memory buffersHOST-RESOURCES-MIB::hrStorageDescr.7 = STRING: Cached memoryHOST-RESOURCES-MIB::hrStorageDescr.10 = STRING: Swap spaceHOST-RESOURCES-MIB::hrStorageDescr.31 = STRING: /HOST-RESOURCES-MIB::hrStorageDescr.32 = STRING: /boot增加一些进程占用CPU及内存的度量(如mysql等):如上图:Internet-mgmt-mib-2-host-hrSWRunPerf-hrSWRunPerfTable-hrSWRunPerfEntry hrSWRunPerfCPU:这个表示进程占用CPU;hrSWRunPerfMem:这个表示进程占用内存;上述这两个目录下的数值,表示进程的PID;查看PID方法:[root@luly net-snmp-5.4.2.1]# ps -e | grep mysql20758 ? 00:00:00 mysqld_safe20788 ? 00:03:21 mysqld如上,mysqld的PID为20788;注:增加SNMP度量时,双击那些路径下的数值是不能自动添加进去的,必须一个个点击数值,再一个个点击“添加”才能有效;5、SNMP5.5使用注意事项net-snmp5.5版本使用snmp时,发现启动后,一运行snmpwalk,snmp进程就会自动退出查看/var/log/snmpd.log,显示如下信息:getaddrinfo: start Name or service not knownError opening specified endpoint "start"Server Exiting with code 1通过指定配置文件可以解决这个问题:snmp -c snmpd.conf(注:snmpd.conf文件要写绝对路径)三、Apache监控1、系统自带的apache配置文件修改配置文件在:/etc/httpd/conf/httpd.conf直接修改该配置:A)确认下面这个配置没有被注释LoadModule status_module modules/mod_status.soB)修改前:#<Location /server-status># SetHandler server-status# Order deny,allow# Deny from all# Allow from #</Location>修改后:<Location /server-status>SetHandler server-statusOrder allow,denyDeny from nothingAllow from all</Location>C)修改前:#ExtendedStatus On修改后:ExtendedStatus On2、自己安装的apahce配置文件修改配置文件所在目录:/usr/local/apache2/conf//“/usr/local/apache2”这个是我的安装目录/usr/local/apache2/conf/httpd.conf//这个为主配置文件/usr/local/apache2/conf/extra/httpd-info.conf//这个是用来监控apache信息的主要配置文件A)修改httpd-info.conf修改前:#ExtendedStatus On<Location /server-status>SetHandler server-statusOrder deny,allowDeny from allAllow from </Location>修改后:ExtendedStatus On<Location /server-status>SetHandler server-statusOrder allow,denyDeny from nothingAllow from all</Location>B)修改httpd.conf修改前:#Include conf/extra/httpd-info.conf修改后:Include conf/extra/httpd-info.conf3、LR中进行Apache监控1)在controller中添加“WEB服务器资源图”—“Apache”计数器,2)在右方的曲线图上点击右键,选择“添加度量”,在弹出的apache窗口,添加计算机:3)添加资源度量;可能遇到的问题:错误一:Monitor name :Apache. 正在分析错误,找不到标记: BusyServers。
LoadRunner 使用手册创建脚本1.打开“Mercury LoadRunner”窗口。
选择“开始” > “程序” > “Mercury LoadRunner” > “LoadRunner”,将打开“Mercury LoadRunner Launcher”窗口2.打开VuGen。
在 Launcher 窗口中,单击“负载测试”选项卡,单击“创建/ 编辑脚本”。
将打开 VuGen 的开始页。
3.选择协议。
在 VuGen 开始页的“脚本”选项卡中,单击“新建 Vuser 脚本”,将打开“新建虚拟用户”对话框,其中显示用于新建单协议脚本的选项。
确保“类别”类型为“所有协议”。
VuGen 将显示所有可用于单协议脚本的协议列表。
向下滚动该列表,选择“Web (HTTP/HTML)”并单击“确定”创建一个空白 Web 脚本。
4.向导模式。
打开 VuGen 的向导时将出现空白脚本,并且该向导的左侧将显示任务窗格。
(如果任务窗格没有显示,请单击工具栏上的“任务”按钮)VuGen 向导将指示您逐步创建脚本并根据所需的测试环境编辑此脚本。
任务窗格列出了脚本创建过程中的每个步骤或任务。
在您执行每个步骤时,VuGen 将在该窗口的主区域中显示详细的说明和规则。
5.录制脚本。
在任务窗格中,单击步骤 1 中的“录制应用程序”,单击说明窗格底部的“开始录制”。
也可以选择“Vuser” > “开始录制”或单击页面顶部工具栏中的“开始录制”按钮将打开“开始录制”对话框在“URL”地址框中,键入要录制的页面地址,在“录制到操作”框中,选择“操作”。
单击“确定”,将打开浮动录制工具栏并开始录制。
在浮动工具栏上单击“停止”停止录制过程。
生成 Vuser 脚本时,“代码生成”弹出窗口将打开。
然后, VuGen 向导将自动继续任务窗格中的下一步,并显示录制概要。
录制概要包括协议信息和会话执行期间创建的操作列表。
对于录制期间执行的每个步骤, VuGen 都生成一个快照(即录制期间窗口的图片)。
如何在Loadrunner中监控服务器资源使用情况一.监控需要进行的配置:在LR控制台设置监控Windows服务器的资源比较容易,直接添加Measurements即可。
但是大多情况下面服务器的操作系统是Linux或者Unix,这时想监控系统的资源使用情况就需要进行一些设置:1.由于LR是通过rpc.rstatd进程获得系统的性能数据,因此首先查看进程中是否存在该进程,或者能否通过运行./rpc.rstatd启动该进程,如果可以,恭喜你,你可以直接在LR的控制台添加Measurements;否则需要下载rstatd.tar.gz,下载地址:.安装rstatd$tar xvzf rstatd.tar.gz$cdrpc.rstatd$./configure--prefix=/usr$make#sudo su#make install3.Add aline to the hosts.allow file within/etc/to specify thesubnet(s)allowed to make rstatd requests.For example:rpc.rstatd:10.0.95.0/255.255.255.0 10.0.8.0/255.255.255.0 Alternately,if youwant to live dangerously:rpc.rstatd:ALL4.Add rstatd entryin/etc/xinetd.d/rstatd:#default:off#description:An xinetd internal service which rstatd's characters back to clients.servicerstatd{type=RPC rpc_version=2-4 socket_type=dgram protocol=udpwait=yes user=root only_from=10.0.95.0/24 log_on_success+=USERIDlog_on_failure+=USERID server=/usr/sbin/rpc.rstatddisable=no.}5.Restart xinetd:#/etc/rc.d/init.d/xinetd restart补充的udp服务rpc.rstatd查看rpc服务进程rpcinfo-p理论上info为7个进程(前面共有两次start),如果各位有兴趣可以自己使用rpcinfo来查看前后的服务对比。
在Controller中配置WebSphere监控器一、WebSphere5.1配置步骤1.启动Websphere服务,具体步骤为:开始—>程序—>IBM Websphere—>Application Server v5.0—>启动服务器2.打开管理控制台,具体步骤为:开始—>程序—>IBM Websphere—>Application Server v5.0—>管理控制台,注:地址为:http://hostname:9090/admin3.用户标识可以不输入,即可登陆WebSphere管理控制台。
4.输入用户标识后,点“确定”按钮,进入管理控制台5.在窗口的左边菜单“应用程序”—>安装新的应用程序,打开右边的页面,在“本地路径”中选择应用程序源文件PerfServletApp.ear(路径为:C:\Program Files\WebSphere\AppServer\installableApps\PerfServletApp.ear), 在“上下文根”输入:/wasPerfTool6.点击“下一步”按钮,选中“生成缺省绑定”,其它按默认即可7.点“下一步”按钮,按默认即可8.点“继续”按钮,进入“提供用于执行安装的选项”窗口,在该窗口的“安装应用程序的目录”后面的文本框中输入:/ servlet/perfservlet,其它默认即可9.点“下一步”按钮,进入“映射 Web 模块的虚拟主机”窗口,在该窗口选中“Web模块”即可10.点“下一步”按钮,进入如下窗口,按默认设置即可11.点“下一步”按钮,进入如下窗口,按默认设置即可12.点“下一步”按钮,进入“摘要”窗口13.在“摘要”窗口点击“完成”按钮即可14.点击“保存到主配置”按钮即可15.点击“保存”按钮后,完成WebSphere的全部配置过程。
16.打开左边菜单,选择“应用程序”—>企业应用程序,在右边页面,选中新安装的应用程序(perfServletApp),然后点击“启动”按钮启动即可。
17.测试一下WebSphere的配置是否成功,输入如下地址:http://hostname:9080/wasPerfTool ... vlet/PerfServletApp二、配置WebSphere5.1监视器步骤1.运行loadRunner的Controller2.添加WebSphere4.X-5.X计数器3.在该窗口点击“Add”按钮4.输入要监视WebSphere所有机器的IP或计算机名称(后面一定要加端口号),选择操作系统平台,点ok按钮即可,然后点窗口下面的“add”按钮即可弹出WebSphere性能监视器窗口,这时就可以在该窗口选择你需要监视的WebSphere各个性能计数器了5.配置到此结束。
配置Weblogic8(JMX)监控器使用LR 监控Weblogic8(JMX)的配置方法:第一步到第三步最好在关闭controller的情况下执行(1)转移C:\program files\Mercury Interactive\Mercury LoadRunner\classes下的jmxri.jar到别的目录,别放到classes目录就可以,即将\classes下的jmxri.jar移出去(我的Loadrunner默认安装在C:\program files\下)(2)copy拷贝weblogic下的一个文件weblogic.jar到loadrunner下:C:\bea\weblogic81\server\lib\weblogic.jar 到C:\program files\Mercury Interactive\Mercury LoadRunner\classes 下即可;(3)修改C:\program files\Mercury Interactive\Mercury loadRunner\dat\monitors\WebLogicMon.ini中的JVM=C:\bea\jdk141_05\bin\javaw.exe(该javaw.exe为weblogic 配置时使用的JDK)(4)修改C:\program files\Mercury Interactive\Mercury LoadRunner\dat\monitors\WebLogicMon.ini中的JavaVersion=1.3;(如果安装的jdk是1.4版本以上的,把1.3改为1.4)(5)启动服务器上的weblogic的服务:start server(在开始菜单选择Weblogic目录下的“User Projects”刚刚建立的应用名,然后按“Start Server”)――(需要配置weblogic,配置过程:BEA weblogic platform8.1—Configuration wizard)4 开始监控:(1)打开controller,像添加windows监控那样添加对某一个weblogic的监控:在图树中单击 WebLogic (JMX) 图,然后将该图拖进“运行”视图的右窗格中;【我没再新建ACL,直接用我的weblogic admin登陆的】(2)右键单击该图并选择add measurements(“添加度量”),,或选择“监视器”> “添加联机度量”; (3)在“WebLogic (JMX)”对话框的“监视的服务器计算机”部分,单击“添加”,输入要监视计算机的服务器名或IP 地址。
按照以下格式输入服务器名或IP 地址;(4)选择计算机运行的平台,单击“确定”(5)在“WebLogic (JMX)”对话框的“资源度量”部分中,单击“添加”。
在“输入登录信息”对话框中,输入对 WebLogic 服务器具有管理权限的用户的用户名和密码。
将打开“BEA WebLogic 监视器配置”对话框(6)加人常用的性能计数器<1> LogBroadcasterRuntime文件夹:MessagesLogge: 该 WebLogic 服务器实例生成的日志消息总数Registered: 如果已取消注册该对象表示的Mbean,则返回“False”CachingDisabled: 禁用代理中的缓存的专用属性<2>ServerSecurityRuntime文件夹:UnlockedUsersTotalCount: 返回在服务器上取消锁定用户的次数InvalidLoginUsersHighCount: 返回具有显著的无效服务器登录尝试的用户的最大数目LoginAttemptsWhileLockedTotalCount: 返回锁定用户时尝试对服务器进行的无效登录的累计次数Registered: 如果已取消注册该对象表示的Mbean,则返回“False”LockedUsersCurrentCount: 返回服务器上当前锁定的用户数CachingDisabled: 禁用代理中的缓存的专用属性InvalidLoginAttemptsTotalCount: 返回对服务器进行的无效登录尝试的累计次数UserLockoutTotalCount: 返回在服务器上进行的用户锁定的累计次数LoadRunner下DLL的调用本次测试中碰到的问题是这样的,在消息的传送过程中遇到了DEC 加密的过程,LoadRunner 录制到的全是加密的消息,比如我录制了某一个用户的登陆,发送消息,退出,但由于是加密的,只能单个用户使用,但如果我想并发多少个用户就存在很多问题,最直接的一个问题就是用户名是加密的,密码是加密的,当然你可以说让程序那里注掉加密的代码进行明码的测试,当然也是一种办法。
但程序组提出了要使用更真实的方法来模拟,这时就必需使用下面介绍的方法。
一开始是直接把 API 移植到LoadRunner 中来,不过由于加密算法异常复杂,有几层循环,而角本是解释执行的,进行一次加密运算可能需要好几分钟,当然在角本里可以把角本本身运行的时间去掉,但这样做显然没有直接调用DLL 来的效率高。
由于程序组比较忙,所以无法提供DLL 给测试,所以测试完成了DLL 的编写,并在LoadRunner 中调用成功,高效的完成了用户信息加密,参数关联,成功的完成了测试。
动态链接库的编写在Visual C++6.0 开发环境下,打开FileNewProject 选项,可以选择 Win32 Dyna mic - Lin k Library 建立一个空的DLL 工程。
1 . Win32 Dyna mic - Lin k Library 方式创建Non-MFC DLL 动态链接库每一个DLL 必须有一个入口点,这就象我们用 C 编写的应用程序一样,必须有一个WINMAIN 函数一样。
在Non-MFC DLL 中DllMain 是一个缺省的入口函数,你不需要编写自己的DLL 入口函数,用这个缺省的入口函数就能使动态链接库被调用时得到正确的初始化。
如果应用程序的DLL 需要分配额外的内存或资源时,或者说需要对每个进程或线程初始化和清除操作时,需要在相应的DLL 工程的 .CPP 文件中对DllMain() 函数按照下面的格式书写。
BOOL APIENTR Y DllMain(HANDLE hModule, DW ORD ul_reason_for_call,LPVOID lpReserved){switch( ul_reason_for_call{case DLL_P ROC ESS_ATTACH:break;case DLL_THREAD_ATTACH:break;case DLL_THREAD_DETACH:break;case DLL_P ROC ESS_DETACH:break;defaul t:break;}return TRUE;}参数中,hMoudle 是动态库被调用时所传递来的一个指向自己的句柄( 实际上,它是指向 _DGROUP 段的一个选择符;ul_reason_for_call 是一个说明动态库被调原因的标志,当进程或线程装入或卸载动态链接库的时候,操作系统调用入口函数,并说明动态链接库被调用的原因,它所有的可能值为:DLL_P ROC ESS_ATTACH: 进程被调用、DLL_THREAD_ATTACH: 线程被调用、DLL_P ROC ESS_DETACH: 进程被停止、DLL_THREAD_DETACH: 线程被停止;lpReserved 为保留参数。
到此为止,DLL 的入口函数已经写了,剩下部分的实现也不难,你可以在DLL 工程中加入你所想要输出的函数或变量了。
我们已经知道DLL 是包含若干个函数的库文件,应用程序使用DLL 中的函数之前,应该先导出这些函数,以便供给应用程序使用。