一、并发和在线
- 并发:指多用户在同一时刻,共同执行某一操作;并发测试要求比较严格,着重考察系统的瞬间压力**
- 在线:多用户在一段时间内对系统执行操作(是指多用户在线去循环操作某一动作)
二、请求响应时间
- 是指从客户端发送一个请求开始计时,到客户端接收到从服务器端返回的响应结果计时结束。
- 在一些工具中,请求响应事假通常称为TTLB(Time to last byte:从发送第一个请求开始,到客户端收到最后一个字节的响应为止所耗费的时间)
- 请求响应时间的单位一般为“秒”或“毫秒”
- 请求响应时间=客户端时间+网络时间(传输时间)+服务器时间
实际的项目测试过程中,经常将被测系统部署到内网环境,这样有充足的带宽,即可规避网络的瓶颈。(因为网络是不可控的,是运营商提供的,不可控的,注意测的是系统,而不是网络,若系统测试,最终测出是网络问题,也是无法解决的。) - 性能测试关心两个词:请求和响应。正常的顺序是请求和应答,先发后收
三、事务响应时间
- 用户完成某个具体事务(如跨行取款事务)所需要的时间。
- 358原则:对于一般系统而言,如果用户点击按钮后,系统可以在3秒钟内得到应答,则用户比较满意;如果系统在5秒内得到应答,则用户能够忍受;如果系统在8秒后得到应答,则用户不能忍受
四、点击率
- 每秒用户向web服务器提交的HTTP请求数
–点击率越大,对服务器的压力也越大
点击不是指鼠标的一次“点击”操作,因为在一次“单击”中,可能向服务器发送多个请求。
比如:用户点击登录按钮,返回的页面中有3张图片,则点击率是4=3+1。每秒的点击量称为点击率
浏览器的原理: - 当用户访问某个HTML文件(web网页)时,浏览器首先获取到该HTML文件,然后进行语法分析。
- 如果这个HTML文件包含图片、视频等信息,浏览器会**再次访问**web服务器,依次获取这些图像、视频文件,然后把HTML和图像、视频文件组织起来,显示在屏幕上。
(一开始时候是红X) - 当图片、视频等非文本较多时,就会使这个页面完全显示比较慢,若对此进行性能调优,其实是请求太多,可以考虑页面中的图片是否可以合并,将请求减少。这时的性能调优可以考虑这个方面。
- 注意:HTTP协议是无状态的,也就是说,浏览器和服务器的交互都是相互独立的,Server并不知道来自Brower的任何两个请求是否来自同一页面,或者是否有次序的规律。因为,web系统在HTTP协议上层进行了控制,从国Cookie、Session等机制来保证请求的状态。
五、吞吐量
- 用户在任意给定一秒从服务器端获得的全部数据量,单位是字节
- 吞吐率:吞吐量/传输时间
- 如果在带宽充足的情况下,完美的吞吐率会随着点击率的增加而增加
六、资源利用率
一般指在进行性能测试过程中,要对AUT的服务器进行资源监控,其中资源服务器的cpu、内存、磁盘和网络等主要的性能计数器,关注其利用情况。
七、性能测试策略
- 基准测试
指测试环境确定以后,对业务模型中涉及的重要业务做单独的测试。
目的是获取单用户执行时的各项性能指标,为多用户并发和综合场景等性能测试分析提供参考依据。 - 并发测试
多用户在同一时刻同时执行某个操作。
目的:考查AUT瞬间压力承受能力 - 综合场景测试”能够最真实的模拟实际的生产场景”
①一般情况下,需要脚本为3个以上,将虚拟用户分成不同的组,每组执行不同的脚本。注意:一般不要将登陆脚本加到综合场景中(因为综合场景一般持续时间很长(1个小时),这段时间内,所有的用户在循环执行操作,而登陆不适合做循环)
②如10%的用户执行浏览首页,50%的用户执行查询订单,40%的用户执行订票操作。
注意:在设置综合场景中用户执行操作比例时,大部分的用户应该做浏览或查询,少部分做提交操作。 - 疲劳强度测试
一般指长时间的在线综合场景测试,即在一定的压力强度下,进行长时间测试,测试时间经常为7*24小时、24小时、12小时 - 内存泄漏检测
①内存泄漏:指当系统运行时,占用的内存没有得到及时的释放,随着运行时间的增加,被占用的内存越来越多,导致可用物理内存被用光,系统运行缓慢甚至宕(down)机。
②内存泄漏检测:使用相应的测试软件进行内存定时器监控,观察是否符合内存泄漏的曲线走势;还可以使用专门的内存泄漏检测工具进行测试。 - 数据容量测试
① 考查AUT中数据库中存储不同容量的数据时,AUT的性能反应。
②数据容量的单位:
1024Byte=1K;1024K=1M;1024M=1G;1024G=1T;1024T=1P - 极限测试
①也称“摸高测试”,即使用性能测试,逐渐增加AUT的压力,测试出AUT的极限值,如最大用户数,最大吞吐量等。 - 递增测试
每隔一定时间段(如5s、10s)加载不同数目的虚拟用户执行测试点测试,对测试点进行递增用户压力加载测试。
目的:若所有虚拟用户同时加载,有可能AUT的资源突然增大,进而影响后续测试中关心的测试点的数据,所以前面可以稍稍放缓,递增加载虚拟用户。
八、事务
为度量服务器的性能,需要定义事务。事务表示要度量的最终用户业务流程或操作
九、场景(Scenario)
①场景是一个文件,用于根据性能要求定义在每一个测试会话运行期间发生的事务
②模拟真实环境,用户运行状况。
如何测试场景的参数:把握一个原则—模拟实际的生成环境