LoadRunner是一种常用的性能测试工具,支持脚本录制,也支持编程,最新的版本是12.6,但是在win10系统上controller是打不开的,需要授权码。以下操作都是以12.50版本为例进行说明。loadRunner是商业软件,社区版本的话一台机器最多能开50,多并发的话就只能多台每台机器装一个。
对于网站来说,loadrunner本质是通过http协议压测的。模拟多个浏览器发送不同的数据包给服务器。通过多线程/多进程来做下面的事情:
client---->server: 发送请求
client<----server: 发送服务器处理结果
Virtual User Generator:虚拟用户生成器,用来录制脚本、调试脚本,注意:在VuGen中脚本是单线程运行;
Controller:设定测试场景,运行多线程(多进程)执行并发测试;
Analysis:分析性能测试执行后的结果,可以出测试结果和很多图表;
ipspoofer:ip欺骗,一般不用。
录制期间,VuGen模拟数据库客户终端并追踪所有用户发出的请求与用户从服务器接收的请求
回放期间, Vuser scripts通过调用服务器API直接与服务进行交流。 因为不需要客户端界面,所以可以允许大量用户运行或使用更少的机器进行测试,同时在客户端未发开的时候执行测试。
1、停止录制时,所有客户端和服务器交互协议会被放在View->Output中
2、VuGen根据Generation log进行协议交互分析,最终生成脚本。如果录制结束时出错或者错误修改后,想回到最初的状态,那么可以使用Record->Regenerate Script 功能来重新生成脚本。
录制完成后有一些于本次无关的请求,比如发送给qq,360,微软等等,这些请求也是需要耗费电脑的资源,导致给服务器加压的能力下降,而且这些请求也不会发送给被测的服务器,所有都需要把这些无关的请求删除。
静态的网页,图片,静态的js,静态的css单独放到一个服务器上,动态的放到另外服务器上,给动态服务器减压;loadrunner全部都是基于协议来实现的,没有浏览器进行展示,所以静态的资源一般没有什么用。
参数化就是使用指定的数据源中的值来替换脚本录制生成的语句中固定的参数,本质就是变量代替常量。
好处:这样可以更加真实的模拟用户操作,增加服务器的压力,避免用同样的用户名和密码登录导致大量的缓存被命中
下一次的请求需要用到上一次请求的数据或者请求返回结果,就称为关联。比如:登录成功之后,系统返回一个token,后续访问所有的页面都用到带有这个token。
在使用LoadRunner录制脚本的时候,拿到录制的token都是上一次的值,回放的时候直接使用的话就会失败。这个时候就需要使用关联,把需要用到的动态数据放到变量里,下次使用的时候用变量替换。
在压测的情况下,需要在另外一台没有加压的电脑上,打开一个浏览器,访问被测的网址,看是否正常响应。
作者:小小小小人ksh
原文链接:https://blog.csdn.net/kongsuhongbaby/article/details/89528410