2023年6月30日发(作者:)
loadrunner或jmeter进⾏⼿机app的压⼒测试
⼀、通过代理录制脚本 随着⼿机APP的⼴泛应⽤,应⽤的使⽤已占据了⼤量的市场份额,尤其是优秀的⼿机APP,动辄⽤户过千万过亿,对于如此庞⼤的⽤户量,我们在开发APP时,也需要对APP进⾏⼤并发⽤户量的。 1、启动CCProxy,进⼊设置页⾯。如下图,修改端⼝号为7777(其他未被占⽤的端⼝号均可),确定。 2、查询安装了loadrunner和CCProxy的电脑IP地址,进⼊dos页⾯,输⼊ipconfig查询本机IP地址 3、启动Virtual User Generator,创建新脚本,点击录制时,设置如下图⽰,监听端⼝填写之前配置的端⼝号即可。 完成以上配置,即可进⾏⼿机APP的脚本录制。 ⼆、loadrunner录制App脚本 因⽬前⽹上最新只有loadrunner11破解,但11⼜不⽀持⼿机代理录制app脚本,所以牵涉到如何⽤loadrunner11来录制⼿机app脚本问题,⽹上找了很多⽅法,都不同程度出现各种问题,最终问题解决,如下: 原料: 1. Loadrunner11,下载地址:/s/1i4NHwTv 2. loadrunner11补丁包,下载地址:/s/1ciUtYI 3. loadrunner11破解包,下载地址:/s/1boYcVT1 步骤: 要使⽤Loadrunner11录制⼿机脚本,需要先搭建好测试环境: · 能够正常使⽤的LoadRunner11; · 安装⼀个LR11的补丁包,⽤于⼿机录制; · pc端和⼿机端的⽹络在同⼀个⽹段。 这⾥特别说明⼀下,电脑需要可以提供热点(⽤于⼿机连接),如果是台式电脑不能提供热点,那么可以使⽤随⾝WIFI。笔记本电脑可以通过安装免费WiFi等来达到提供热点的⽬的。 【测试环境准备】 第⼀步:安装LR11 第⼆步:安装LR11录制⼿机脚本补丁包,,下载好之后,直接点击安装,没有特别的要求。 第三步:如果在新建脚本页⾯,看到Mobile App(HTTP/HTML),表⽰补丁包成功安装。 图⼀ 【测试demo】 第⼀步:新建⼀个“Mobile App(HTTP/HTML)”协议的脚本; 第⼆步:点击 ,选择录制模式:选择“Record and Analyze”,如下图中的第⼀个,点击【下⼀步】; 图⼆ 注:此处选择3recording wizard,可以使⽤安卓模拟器的⽅法进⾏录制,具体见⽅法三 第三步:Host URL填写“localhost”,Port为⼀个端⼝号,需要使⽤本机⽬前未被占⽤的端⼝号,点击【Connect】。PS:可以使⽤命令⾏“netstat”查看未被占⽤端⼝,点击“Connect”,此时可能出现错误“unexpected error encountered with ”,解决办法:下载winpcap并安装 图三 第四步:选择Record network,可以看到Record network有多个,根据每台电脑不同,需要选择的也不同,只能通过每个都进⾏录制⼀下来选择对应的,我的电脑是第三个。 图四 第五步:选择Record into,Vuser_initActionVuser_end三选⼀,⼀般选择Action,根据具体情况⽽定。 第六步:电脑放出热点,确保⼿机连接的是电脑的这个热点,并且只有要这台⼿机连接这个热点!! 第七步:点击【Start Recording】之后,Recording的状态变为Stop Recording状态,就可以开始进⾏要⼿机操作了。 第⼋步:要录制的⼿机操作结束之后,点击【Stop Recording】,然后电脑会弹出⼀个抓取的数包,将其保存。 第九步:点击【下⼀步】,Capture 处选择刚才保存的pcap⽂件,IP Host处填写⼿机此时的IP地址,这个需要在⼿机⾥查看,并且确保正确! 第⼗步:点击【完成】,这是就会⾃动⽣成LR脚本了,如果此时录制的脚本为空,那可能是Record network选择错了,重新回到第四步,选择另⼀个⽹络,直到录制脚本不为空! 三、jmeter录制脚本进⾏app压⼒测试 1.电脑启动jmeter 在测试计划新建线程组. 3.在⼯作台新建http代理服务器 4.配置HTTP代理服务器 5.设置IE代理到本地 6、⼿机wifi设置代理连接到PC 7、启动jmeter的HTTP代理服务器 8、现在电脑随便点开⼀个⽹页测试是否能抓到包(如果能挂包就去掉IE的代理,设置IE是为了验证HTTP代理服务器是否⽣效,若⽇后熟练可以省去这⼀步) 9、⼀切正常,⼿机开始启动app执⾏操作 10、录制成功后,停⽌HTTP代理服务器,然后再进⾏回放或者压⼒测试。 四、Loadrunner中通过nmon监控服务器系统资源 在实际的测试过程中,Loadrunner监控Linux系统资源不太稳定,经常断开,所以⼀般采⽤下⾯的⼯具进⾏监控。 下载地址:/detail/hyzhou1121/3980069 nmon⼯具是提供的免费的监控AIX系统与Linux系统资源的⼯具。该⼯具可将服务器的系统资源耗⽤情况收集起来并输出⼀个特定的⽂件,并可利⽤Excel分析⼯具进⾏数据的统计分析,⾮常利于Unix或者Linux系统的性能数据分析。下⾯分步介绍如何使⽤该⼯具: 安装nmon ⾸先在IBM的官⽅⽹上下载nmon⼯具,下载时注意要下载对应的版本。我们这⾥以red hat5为例,下载的是nmon_x86_版本,该版本⽀持redhat。下载后解压,改名为nmon并上传到Linux中。 进⼊nmon⽬录,查看nmon⽂件下各⽂件的权限。[root@localhost nmon]# ls -ltotal 1212-rw-r--r-- 1 hyzhou hyzhou 167781 Feb 12 2009 nmon_x86_fedora10-rw-r--r-- 1 hyzhou hyzhou 168875 Feb 11 2009 nmon_x86_opensuse10-rw-r--r-- 1 hyzhou hyzhou 152131 Feb 11 2009 nmon_x86_rhel45-rw-r--r-- 1 hyzhou hyzhou 167957 Feb 13 2009 nmon_x86_rhel52-rw-r--r-- 1 hyzhou hyzhou 174171 Feb 12 2009 nmon_x86_sles10-rw-r--r-- 1 hyzhou hyzhou 154107 Feb 14 2009 nmon_x86_sles9-rw-r--r-- 1 hyzhou hyzhou 183215 Feb 13 2009 nmon_x86_ubuntu810 从图中可以看出,相关⽂件的权限仅有只读权限,这样在执⾏命令的时候可能会存在没有权限的问题,为了能够正常使⽤nmon⼯具,我们需要修改⽂件的权限。这⾥只修改nmon_x86_rhel52的权限,为了⽅便,直接改成777。 #chmod u+x nmon_x86_rhel52 修改完成后,就完成了nmon⼯具安装。 使⽤nmon⼯具 nmon⼯具使⽤⾮常简单。⾸先启动该⼯具,在nmon⽬录下输⼊ #./nmon_x86_rhel52 即可,启动后的显⽰效果如图所⽰(显⽰了相关帮助信息): 单个字母表⽰对应监控点的快捷键,只要输⼊相应的字母,即可显⽰相应的资源耗⽤情况,输⼊c、m、d后显⽰效果如下(显⽰了cpu、内存、磁盘的使⽤情况): 输出⽂件 上⾯介绍的只是在服务器监控,我们真正需要的是如何收集这些数据并处理分析它们。nmon提供了⼀个nmon_analyser的分析⼯具,可以利⽤Excel进⾏统计结果分析。在测试的时候,可以使⽤下列命令进⾏数据的输出: #./nmon_x86_rhel52 -fT -s 5 -c 5 命令的含义是,-f输出⽂件,-T输出最耗⾃愿的进程,-s收集数据的时间间隔,-c收集次数。⽐如,测试场景需要执⾏20分钟,那么需要每隔10秒监控Linux系统资源就可以写成: #./nmon_x86_rhel52 -fT -s 10 -c 120 完成后会在当前⽬录⽣成⼀个.nmon的⽂件,如下: localhost_111228_ nmon输出⽂件的命名⽅式是服务器名_⽇期时间.nmon,我们在测试结束后,可以到当前⽬录下提取这些⽂件。 如果想在后台运⾏nmon,则可⽤: #nohup ./nmon_x86_rhel52 -fT -s 10 -c 120 命令在后台启动相关的进程运⾏nmon⼯具。 如果想结束该进程,可使⽤: #ps -eaf|grep *nmon* 命令查出该进程ID,然后使⽤: #kill -9 进程ID 命令杀掉进程即可。 分析数据 利⽤nmon⼯具收集到系统资源的相关数据后,就可以使⽤nmon⼯具的配套软件nmon analyser (⼯具可能因版本不同⽽不同)进⾏数据分析了。这个⼯具使⽤⾮常简单,分析时只需要打开相应的.nmon⽂件即可。 打开nmon analysis ,如图: 如果报安全级别过⾼错误,则需要修改宏的安全级别设置。 单击Analyse nmon data按钮,选择需要分析的nmon⽂件(过程中需要保存Execl⽂件,输⼊⼀个容易分辨的⽂件名即可)。 保存后的Excel⽂件如图: 上图列出了系统部分资源信息,在实际过程中可根据需要增减,nmon的使⽤到此就介绍完了。五、loadrunner直接监控windows系统资源 1、监视连接前的准备 1)进⼊被监视windows系统,开启以下⼆个服务Remote Procedure Call(RPC) 和Remote Registry Service (开始—)运⾏ 中输⼊,开启对应服务即可)。 2)在被监视的WINDOWS机器上:右击我的电脑,选择管理->共享⽂件夹->共享 在这⾥⾯要有C$这个共享⽂件夹 (要是没有⾃⼰⼿动加上)。 3)在安装LR的机器上,开始—》运⾏,输⼊ 被监视机器IPC$ 然后输⼊管理员帐号和密码,如果能看到被监视机器的C盘了,就说明你得到了那台机器的管理员权限,可以使⽤LR去连接了。(LR要连接WINDOWS机器进⾏监视要有管理员帐号和密码才⾏。) 问题:在执⾏步骤3)时,输⼊ 被监视机器IPC$,出现不能以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 命令 该命令⽤于查找系统中是否存在⽂件,如果没有,说明系统没有安装rstatd守护程序。如果服务器上没有安装rstatd程序(⼀般来说LINUX都没有安装),需要下载⼀个包才有这个服务,包名字是.这是⼀个源码,需要编译(/projects/rstatd下载地址) 下载后,安装步骤如下: tar -xzvf cd -4.0.1/ ./configure —配置操作 make —进⾏编译 make install —开始安装 —启动rstatd进程 2.安装rsh,和rsh-server两个服务包⽅法 a. 卸载rsh # rpm –q rsh----------查看版本号 # rpm -e 版本号---------卸载该版本。 b.安装 # rpm –ivh # rpm –ivh 或者 # yum install rsh # yum install rsh-server # yum install rusers-server 在启动时,会报错“Cannot register service: RPC: Unable to receive; errno = Ction refused”。 解决⽅法如下: # /etc/init.d ./portmap start # /etc/init.d ./nfs start 然后再次启动就好了。server 3、安装xinetd服务 yum install xinetd.i386 /sbin/service xinetd restart 配置xinetd,它的主配置⽂件是/etc/ ,它⾥⾯内容是⼀些如下的基本信息:## ## Copyright (c) 1998-2001 SuSE GmbH Nuernberg, Germany.# Copyright (c) 2002 SuSE Linux AG, Nuernberg, Germany.#defaults{log_type = FILE /var/log/_on_success = HOST EXIT DURATIONlog_on_failure = HOST ATTEMPT# only_from = localhostinstances = 30cps = 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: # # d 确认启动: # 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拖放到右边窗⼝⾥⾯,右击⿏标选择AddMeasurements,添加被监控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开始⽆需设置,之前还是需要设置运⾏时参数 -ote ) ⽆认证连接 (下⾯的设置表⽰:连接的端⼝为8999、⽆需认证就可以被连接) Java代码 -=8999 -ticate=false -=false 如果考虑到安全因素,需要认证,需要安全连接,也是可以搞定的。参考:/javase/6/docs/technotes/guides/management/#gdenv 四、JConsole如何连接远程机器的JAVA程序(举例说明) 1、写⼀个简单的⼀直运⾏的JAVA程序,运⾏在某台机器上如(192.168.0.181) Java代码 java -cp . -=8999 -ticate=false -=false JConsoleTest 2、另外⼀台机器进⾏连接 可以直接使⽤命令: Java代码 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,可以参考:/technetwork/java/ 线程 左下⾓显⽰所有的活动线程(如果线程过多,可以在下⾯的过滤栏中输⼊字符串过滤出你想要观察的线程)。点击某个显⽰会显⽰这个线程的名称、状态、阻塞和等待的次数、堆栈的信息。 统计图显⽰的是线程数⽬的峰值(红⾊)和当前活动的线程(蓝⾊)。 另外下⾯有个按钮“检测到死锁”,有时候会有⽤处。 类 没啥要说的。 VM摘要 也没啥要说的,看看吧,内存状况,操作系统... MBean 这⾥可以有⼀些额外的操作。 插件 Java代码 jconsole -plugi/html/80/ath C:Javajdk1.6.0_ ⼀看便知,是个什么东西。转⾃:/html/80/
发布者:admin,转转请注明出处:http://www.yc00.com/news/1688091697a79596.html
评论列表(0条)