Loadrunner&Jmeter进行手机APP压力测试

发表于:2017-11-27 10:28

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:liangww    来源:博客园

  五、loadrunner直接监控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对其监控的话,会提示:“找不到网络路径”)的情况,现象就是用户名输入框是灰色的,并且默认用户是guest。
  解决办法:这是安全策略的设置问题(管理工具 -> 本地安全策略 -> 安全选项 -> "网络访问:本地帐户的共享和安全模式")。默认情况下,XP的访问方式是"仅来宾"的方式,如果你访问它,当然就固定为Guest来访问,而guest 账户没有监控的权限,所以要把访问方式改为“经典”模式,这样就可以以administrator的身份登陆了。修改后,再次执行步骤3),输入管理员用户名和密码,就可以访问被监控机器C盘了。若这样都不行的话(可能是其它问题引起的),那只好采取别的方法了。在服务器的机子上,通过windows自带的“性能日志和警报”下的“计数器日志”中新增加一个监控日志(管理工具—性能—性能日志和警报),配置好日志,也能监控服务器的cpu、memory、disk等计数器。当然,这种方法就不是用LR来监控了。
  2、用LR监视windows的步骤
  在controller 中,双击左边树中的Windows Resources,在右边的Windows Resources图里点右键,选择Add Measurements,添加被监控windows的IP地址,选择所属系统,下面的各种监控指标是系统默认的,可以点下面的删除去掉一些,想加一些新的话点下面那个Add,然后选择所属分类下的系统指标,然后点close就把那个指标添加进去了,一般使用以下两个指标
  1)监控CPU利用率(% ProcessorTime)
  指标描述:% Processor Time指处理器执行非闲置线程时间的百分比。这个计数器设计成用来作为处理器活动的主要指示器。它通过在每个时间间隔中衡量处理器用于执行闲置处理线程的时间,并且用100%减去该值得出。可将其视为范例间隔用于做有用工作的百分比。
  指标范围:根据应用系统情况,在80%±5%范围内波动为宜。过低,则服务器CPU利用率不高;过高,则CPU可能成为系统的处理瓶颈
  2)内存指标Availiable bytes(memory)
  指标描述:显示出当前空闲的物理内存总量,它等于分配给待机(缓存的)、空闲和零分页列表内存的总和。空闲内存可以马上使用;清零内存是由零值填满的内存页,用来防止后续进程获得旧进程使用的数据;待机内存是从进程工作集(其物理内存)中删除然后进入磁盘的内存,但是该内存仍然可以收回。该指标仅显示最后一次观察到的值,不是平均值。
  指标范围:当这个数值变小时,Windows开始频繁地调用磁盘页面文件。如果这个数值很小,例如小于5 MB,系统会将大部分时间消耗在操作页面文件上。一般要保留10%的可用内存。最低不能<4M,此值过小可能是内存不足或内存泄漏
  六、loadrunner直接监控linux系统资源
  1 准备工作
  可以通过两种方法验证服务器上是否配置了rstatd守护程序:
  ①使用rup 10.130.61.203命令
  它用于报告计算机的各种统计信息,其中就包括rstatd的配置信息,此处10.130.61.203是要监视的linux/Unix服务器的Ip,如果该命令返回相关的统计信息。则表示已经配置并且激活了rstatd守护进程;否则表示rstatd守护进程尚未被配置或有问题。
  ②使用#find / -name rpc.rstatd命令
  该命令用于查找系统中是否存在rpc.rstatd文件,如果没有,说明系统没有安装rstatd守护程序。如果服务器上没有安装rstatd程序(一般来说LINUX都没有安装),需要下载一个包才有这个服务,包名字是rpc.rstatd-4.0.1.tar.gz.这是一个源码,需要编译(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.安装rsh,和rsh-server两个服务包方法
  a. 卸载rsh
  # rpm –q rsh----------查看版本号
  # rpm -e 版本号---------卸载该版本。
  b.安装
  # rpm –ivh rsh-0.17-14.i386.rpm
  # rpm –ivh rsh-server-0.17-14.i386.rpm
  或者
  # yum install rsh
  # yum install rsh-server
  # yum install rusers-server
  在启动rpc.rstatd时,会报错“Cannot register service: RPC: Unable to receive; errno = Ction refused”。
  解决方法如下:
  # /etc/init.d ./portmap start
  # /etc/init.d ./nfs start
  然后再次启动rpc.rstatd就好了。server
  3、安装xinetd服务
  yum install xinetd.i386
  /sbin/service xinetd restart
  配置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服务器已经启动。
  ①检查rsh是否启动: rsh监听的TCP 是514。
  [root@mg04 root]# netstat -an |grep 514
  tcp 0 0 0.0.0.0:514 0.0.0.0:* LISTEN
  如果能看到514在监听说明rsh服务器已经启动。
  ②启动rstatd:
  # rpc.rstatd
  # rpc.rquotad
  确认启动:
  # rpcinfo -p
  程序 版本 协议   端口
  100000    2   tcp    111  portmapper
  100000    2   udp    111  portmapper
  100024    1   udp    826  status
  100024    1   tcp    829  status
  100001    5   udp    675  rstatd
  100001    3   udp    675  rstatd
  100001    2   udp    675  rstatd
  100001    1   udp    675  rstatd
  100011    1   udp    672  rquotad
  100011    2   udp    672  rquotad
  100011    1   tcp    675  rquotad
  100011    2   tcp    675  rquotad
  ③启动xinetd方法:
  在suse linux如下操作:
  cd /etc/init.d/
  ./xinetd restart
  看到网上有的地方说使用如下命令:
  # service xinetd reload
  # /sbin/service xinetd rstart
  确认启动
  # netstat -an |grep 514
  tcp        0      0 0.0.0.0:514                 0.0.0.0:*                   LISTEN
  配置loadrunner unix监控输入服务器ip即可 。在controller中,将UNIX resources拖放到右边窗口里面,右击鼠标选择Add Measurements,添加被监控linux的IP地址,然后选择需要监控的指标就可以了。
  从Java 5开始 引入了 JConsole。JConsole 是一个内置 Java 性能分析器,可以从命令行或在 GUI shell 中运行。您可以轻松地使用 JConsole(或者,它更高端的 “近亲” VisualVM )来监控 Java 应用程序性能和跟踪 Java 中的代码。
  二、如何启动JConsole
  如果是从命令行启动,使 JDK 在 PATH 上,运行 jconsole 即可。
  如果从 GUI shell 启动,找到 JDK 安装路径,打开 bin 文件夹,双击 jconsole 。
  当分析工具弹出时(取决于正在运行的 Java 版本以及正在运行的 Java 程序数量),可能会出现一个对话框,要求输入一个进程的 URL 来连接,也可能列出许多不同的本地 Java 进程(有时包含 JConsole 进程本身)来连接。如图所示:
  想分析那个程序就双击那个进程。
  三、如何设置JAVA程序运行时可以被JConsolse连接分析
  本地程序(相对于开启JConsole的计算机),无需设置任何参数就可以被本地开启的JConsole连接(Java SE 6开始无需设置,之前还是需要设置运行时参数 -Dcom.sun.management.jmxremote )
  无认证连接 (下面的设置表示:连接的端口为8999、无需认证就可以被连接)
  Java代码
  -Dcom.sun.management.jmxremote.port=8999 \
  -Dcom.sun.management.jmxremote.authenticate=false \
  -Dcom.sun.management.jmxremote.ssl=false
  如果考虑到安全因素,需要认证,需要安全连接,也是可以搞定的。参考:http://download.oracle.com/javase/6/docs/technotes/guides/management/agent.html#gdenv
  四、JConsole如何连接远程机器的JAVA程序(举例说明)
  1、写一个简单的一直运行的JAVA程序,运行在某台机器上如(192.168.0.181)
  Java代码
  java -cp . -Dcom.sun.management.jmxremote.port=8999 -Dcom.sun.managent.jmxremote.authenticate=false -Dcom.sun.management.jmxremote.ssl=false JConsoleTest
  2、另外一台机器进行连接
  可以直接使用命令:
  Java代码
  jconsole.exe 192.168.0.181:8999
  也可以在已经打开的JConsole界面操作 连接->新建连接->选择远程进程->输入远程主机IP和端口号->点击“连接”,如图:
  然后就会进入分析界面:
  性能分析
  下面说说如何分析,如何使用这六个标签
  · 概述: Displays overview information about the Java VM and monitored values.
  · 内存: 显示内存使用信息
  · 线程: 显示线程使用信息
  · 类: 显示类装载信息
  · *VM摘要:*显示java VM信息
  · MBeans: 显示 MBeans.
  概述
  概述很简单没啥说的,自己看看吧,不过值得一提的是对着图点击右键可以保存数据到CSV文件,以后可以使用其他工具来分析这些数据。
  内存
  这个比较有价值,参看堆内存,非堆内存,内存池的状况总体内存的分配和使用情况以及不同的GC进行垃圾回收的次数和时间。可以手动进行GC查看内存变化。
  在分析JAVA内存问题进行调优时候非常有用,你要学习JVM内存模型,之后会发现这里的每个值都具有意义。
  GC的算法和参数对性能有显著的影响,注意垃圾回收次数、时间、以及partial GC和full GC,调整你所使用的不同GC和以及各个GC下的参数,然后在这个视图下观察,以得到好的性能。
  这里贴一下 Java HotSpot VM garbage collector 下generational GC 的各代的划分图:
  关于GC,可以参考:http://www.oracle.com/technetwork/java/gc-tuning-5-138395.html
  线程
  左下角显示所有的活动线程(如果线程过多,可以在下面的过滤栏中输入字符串过滤出你想要观察的线程)。点击某个显示会显示这个线程的名称、状态、阻塞和等待的次数、堆栈的信息。
  统计图显示的是线程数目的峰值(红色)和当前活动的线程(蓝色)。
  另外下面有个按钮“检测到死锁”,有时候会有用处。
  类
  没啥要说的。
  VM摘要
  也没啥要说的,看看吧,内存状况,操作系统...
  MBean
  这里可以有一些额外的操作。
  插件
  Java代码
  jconsole -pluginpath C:\Java\jdk1.6.0_22\demo\management\JTop\JTop.jar
  一看便知,是个什么东西。
22/2<12
《2023软件测试行业现状调查报告》独家发布~

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计 发展历程

法律顾问:上海兰迪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2024
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号