1、场景(场景分类)
手工场景就是自行设置用户的变化,主要通过设计用的添加减少过程,来模拟真实的用户请求模型,完成负载的生成。一般性能测试,都选用手工场景。
手工场景可以为同一个组中的不同用户分配不同的脚本,负载生成器。
面向目标场景,即首先的定义需要测试达到的目标,然后loadrunner会自动根据这一目标创建场景。
2、场景设计策略
使用场合:比如说秒杀功能。
问题1:loadrunner场景中的加载方式:simultaneously,即同时加载。和Initialize中的
一次性初始化所有的vuser用户的选项,两者有什么区别吗?
使用场合:单个场景,比如打开某个页面,接口,登录等操作。
用户停止场景即用户执行完场景完后,退出当前的场景的操作。
问题2:一般情况来说,用户停止场景的方式,是与用户加载的方式一样适合还是一次性全部退出场景适合呢?
问题3:用户场景的执行时间:可以不可以这样理解,用户场景的整体执行时间等于:
用户加载时间+用户执行时间+用户退出场景的时间?
3、场景适用场合
例如:打开某个页面操作,用户登录等。
混合场景,即多个业务组成的场景。比如BBS论坛发帖,有用户登录,发帖,回帖的业务,这些业务可以组成一个混合的场景,在运行场景时,可以指定多少vuser去执行某一个单个业务的操作。
问题4:在混合场景中,针对了某个单业务进行了检查点的设置,例如BBS论坛的发帖检查点,当虚拟用户数变多时,其整个发帖的事物响应时间明显变慢,是不是增加了检查点后,在多虚拟用户执行场景时,会影响到其事务的响应时间呢?或者说检查点不适合在混合场景中多次添加?
4、压力机
压力机顾名思义就是增加压力的机器,即负载机,在性能测试过程中,可以指定多个加压机对其进行加压。
1、保证联合的机器上装了LR agent,并启用了。(状态栏会有一个小卫星)
2、本地系统的服务RPC服务开启,改为自动。
3、请从你的Controller的机子上登录要联合的机子。
4、关闭防火墙+杀毒+360等。拥有权限,必须保证负载机器在同一个网段内,保持网络可以相互通信。
5、集合点策略
5.1、为什么要用集合点
在loadrunner进行性能测试过程中,其实不能保证所有的Vuser都在同一时刻进行操作,这样就达不到并发测试的目的,故需要用到集合点。集合点的意思就是在一个操作之前设置了集合点,loadrunner会等待所有的Vuser都准备好要执行的该功能菜进行执行,其强调的所有的vuer都已经准备好了,如果部分Vuser没有准备好,则该功能还不能被执行。
1、Release when:当所有虚拟用户中的x%到达集合点进行释放,即仅当指定百分比的虚拟用户达到集合点时,菜释放虚拟用户。
2、Release when:当所有正在运行的虚拟用户的x%到达集合点时释放,即当场景中的指定的百分比,正在运行的虚拟用户到达集合点时,才释放虚拟用户。
3、Release when:当X个虚拟用户到达集合点时释放,即当指定的数量的虚拟用
户到达集合点时,菜释放虚拟用户。
4、timeout
between vuser(虚拟用户之间的超时)框中输入一个超时值。
注意1:超时时长默认是30秒,我们可以根据具体的被检测应用进行调整。
注意2:没有100%的并发。
注意3:在实际应用中很少使用集合点。
6、性能测试的目的
评测:用户更关心的是业务上的并发,就是真是业务场景的并发情况,这种情况下就不需要设置集合点了。
有针对性对某个可能存在的性能问题的模块/接口施压,以便找到性能瓶颈。这时候可以使用集合点。
7、window资源**
1、开启Remote
Procedure Call(RPC)和Remote Registry Service服务。
2、关闭防火墙,杀毒
3、拥有管理权限访问
4、安全策略设置:运行框中输入secpol.msc,出现安全策略设置对话框,依次点击本地安全策略—安全选项,然后找到网络访问:本地账户的共享和安全模式,修改为经典即可。
1、观察图标的变化趋势,不要局限在某个点上
2、第三方**工具刀额数据图---关注重要的指标。
3、应用(JVM内存,full gc频率),中间件,数据库。
4、查看log日志(日志几倍warn和error)。重点关注error和timeout的。
5、如果在执行过程中加压,要记录加压的时间点。
6、随机的去手工访问相关业务。
问题:Error -27796: Failed to connect to server "ip地址": [10060]
Connection timed out
解决办法:
1.、修改run time setting中的请求超时时间Preferences 中点击Options
其中有三项的参数可以一次都修改了,HTTP-request connect timeout,HTTP-request receieve timeout,Step
download timeout,分别建议修改为1000、1000、10000;run time setting设置完了后记住还需要在control组件的option的run
time setting中设置相应的参数。
2. Browser Emulation 中的Download
non-HTML resources 选项去掉,点击OK即可
2、办法(一)不能解决的情况下,解决办法如下:
设置runt time setting中的internet
protocol-preferences中的advaced区域有一个winlnet replay instead of sockets选项,选项后再回放就成功了。切记此法只对windows系统起作用,此法来自zee的资料。
8、场景设计总结
1、添加脚本。
2、设置压力机。
3、设置run time
setting选项(检查点启动,思考时间设置,网络带宽设置等等)。
4、设置schedule项(主要为集合点并发策略的设置)
5、基准。
6、单用户单次。
7、单用户多次。
8、多用户单次。
9、多用户多次。