什么是性能测试?web性能应该注意些什么?

性能测试,简而言之就是模仿用户对一个系统进行大批量的操作,得出系统各项性能指标和性能瓶颈,并从中发现存在的问题,通过多方协助调优的过程。而web端的性能测试应该注意的指标有:用户操作的响应时间、系统的吞吐量(TPS)、系统的硬件资源情况(CPU、硬盘、磁盘)、网络资源占用情况等。

web性能测试之HTTP请求

  • 关于性能测试中,HTTP请求类的性能指标都需要我们去关注些什么?
  1. 响应时间,这里的响应时间一定得是前端+后端的响应时间,我们惯性的思维都是只关注后端服务的响应时间,其实前端的响应时间也是须考虑在内的。
  2. 并发测试的相应数据,这部分也得考虑前端数据,这只是一个大概的补充,因为具体的系统需要的数据不一样,其中也不乏包括响应时间。
  • 其中,前端的响应时间都涉及到哪些环节呢?
  1. DNS解析
  2. 各种请求的连接
  3. TLS的建立
  4. 字节流的发送
  • 另外,后端响应时间涉及的环节:
  1. 等待(前端请求)
  2. 接收信息流
  3. 返回响应数据

这其实就是一个比较完整的web端请求所需要的环节,而响应时间就是指的这个请求的过程所花费的时间。这部分时间就是一个用户在操作的时候所等待的时间,所以用户所能接受的时间范围恰好是性能测试所关注的时间范围。通常用户所能接受的系统响应时间是3-5s,若大于这个时间节点,将会使用户失去耐心,取消对系统的操作。

web性能测试之Jmeter

Jmeter属于一个非常实用的测试工具,在性能测试当中也占有一个非常重要的位置。通常jmeter在性能测试过程中,涉及到的基本是直接对接的后端服务,针对前端的响应基本不会涉及,所以用jmeter来对一个web系统进行性能测试时,很难去捕获到前端的响应数据。但是后端响应数据获取起来非常的便捷,其中就包括:并发数、平均响应时间、错误率、吞吐量等等,如下图:

那么,关于前端的响应数据,我们该用什么方法去获取呢?接下来讲的一种方法,就是利用LR来进行。

web性能测试之Loadrunner

Loadrunner则是属于企业软件,这就奠定了它功能繁多,用途广泛的基础。LR算是一个大型的性能测试工具了,但是平常使用也还是其基本的一些功能。LR在用户界面交互上进行了注重,也就是我们之前提到的前端的响应数据,利用LR能够弥补jmeter无法涉及到的前端响应时间这部分,通过更接近用户对界面的交互,得出前端发起请求到请求发送到后台服务这个过程的响应时间。所以,这前后端两部分的响应时间之和,就是我们基本能够判定一个系统真正响应时间的依据。

web性能测试之响应时间

结合以上提及到的响应时间,它所涉及到的有两个部分,一是前端,二是后端

关于整体系统压测策略

那提及到系统压测的策略,其实是想提一下怎样去利用单节点集群这两种方案。通常的压测,都是采用的单节点来进行的,这样“以小见大”的方法不为一个不可采取的方法,但是这其中还是会造成很多的误差。还有就是,单节点的压测容易压低整个系统的性能指标,因为无法充分的利用系统资源。

而集群压测,在环境部署上是一个复杂点,但是能够充分利用系统已有资源,这样得出的数据能够更加真实有效。在有过量的时间时,可以讲单节点和集群的压测数据进行对比,这样就能发现其中存在的差异。

关于性能测试日志

性能测试中,日志是非常能够反应出测试工作中问题所在的一个环节,通过查看日志来定位问题是一个繁杂但是极为可靠的方式。

此类测试中,都会涉及到哪些日志呢?

  1. Jmeter端日志
  2. HTTP端打到Nginx端的日志,这层会涉及到来源IP、请求地址、响应时间等。
  3. Tomcat层日志
  4. Server层日志

关于OS层数据监控

CPU监控,通常的指标是CPU使用率不能超过80%,这样给系统预留一个缓冲的范围。这里提及一点,就是其中涉及到多核CPU的情况,严谨的人会去关注每核CPU的使用情况,因为很多时候多核CPU的利用并不是均衡的,整体的CPU使用情况不能反映出单核的使用情况,容易造成误导。

JVM层监控,这主要是去监控线程,其中包含单线程、多线程,同步线程、异步线程。关于同步线程和异步线程,是一个系统中比较关注的点,假如:一个系统处理事务时,采用的是同步线程,很多事务会等待处理造成阻塞,那么这样的系统处理速度就会受到很大的限制,会被视为一个不合格的系统。

以上算是记录一下从多方面去考虑web性能测试的各个点,从而使测试结果更加真实有效。

【性能测试】Web性能测试相关推荐

  1. 高性能WEB开发(6) - web性能测试工具推荐

    Posted on 2010-04-28 12:57 BearRui(AK-47) 阅读(9341) 评论(14)  编辑  收藏 所属分类: 高性能WEB开发 本来这篇文章应该在写在前面的,因本人写 ...

  2. Jmeter Web 性能测试入门 (六):Jmeter 解析 response 并传递 value

    解析response中的内容,并把获取到的value传递到后续的request中,常用的方法就是在想要解析response的request上添加后置处理器 本章介绍两种常用的组件 BeanShell ...

  3. web性能测试分析-工具篇 (转载)

    web性能测试分析-工具篇 用于Web性能分析的工具还有很多,以下只不过是我所略知的几种,如各位有使用未列出性能工具,请跟帖共享.以下软件都可容易下载到.我建议全部下载,根据自已的需求,选择最适合自己 ...

  4. web性能测试基础 知识(引用)

    1.1基本概念 并发用户:用户并发一般发生在使用比较频繁的模块中,而且遇到异常通常都是程序的问题. 用户并发数量:在线用户数量是计算并发用户数量的主要依据之一.=使用系统的用户数量*(5%~20%) ...

  5. Jmeter Web 性能测试入门 (四):一个小实例带你学会 Jmeter 脚本编写

    测试场景: 模拟并发100个user,在TesterHome 站内搜索VV00CC 添加线程组 添加HTTP信息头管理器 添加HTTP Sampler 填写HTTP Sampler中的信息 添加监听器 ...

  6. LoadRunner入门教程(4)—web性能测试常用指标

    2019独角兽企业重金招聘Python工程师标准>>> web性能测试常用指标 1.响应时间(Response time) 响应时间就是用户感受软件系统为其服务所耗费的时间,对于网站 ...

  7. 基于Windows下的Web性能测试和压力测试

    基于Windows下的Web性能测试和压力测试 Web测试 随着Internet的日益普及,现在基于B/S结构的大型应用越来越多,可如何对这些应用进行测试成为日益迫切的问题.有许多测试人员来信问我B/ ...

  8. web服务器性能测试---服务器性能测试实例

    WEB性能测试--服务器 目录 一.准备测试环境............................................................................ ...

  9. 前端性能优化学习 03 Web 性能测试

    Web 性能测试 作为网站应用的开发者或维护者,我们需要时常关注网站当前的健康状况,譬如在主流程运行正常的情况下,各方面性能体验是否满足期望,是否存在改进与提升的空间,如何进行快速且准确的问题定位等, ...

  10. 《Web性能测试实战》性能测试用例模板

    <Web性能测试实战>性能测试用例模板 <LoadRunner性能测试实战>图书配套性能测试课程:         1.性能测试入门与虚拟用户开发基础(点击进入)        ...

最新文章

  1. 使用Nodejs创建基本的网站 Microblog--《Node.js开发指南》 1
  2. C++ reinterpret_cast,const_cast等 显式类型转换总结
  3. 北邮OJ 980. 16校赛-R_clover's Challenge
  4. html 订阅发布,发布-订阅模式.html
  5. html属性和dom属性的区别,HTML属性与DOM属性的区别?
  6. 【numpy求和】numpy.sum()求和
  7. opengl学习笔记(三)
  8. Jmeter之JDBC Request与mysql
  9. Excel2007中插入页眉和页脚
  10. Windows 发布本地提权0day,可以系统权限执行任意代码
  11. Thrift的安装和简单示例
  12. 基于Visual C++2010与windows SDK fo windows7开发windows7平台的tabletpc应用(2)-轨迹多文档手写轨迹输入多语言识别范例
  13. 在线QQ客服链接,只添加 qq号
  14. 虚拟机远程连接USB SERVER
  15. Axure RP9 制作平台界面
  16. MySQL8.0 - 新特性 - Descending Index 1
  17. arduino点阵声音频谱_音频跳动:制造32分频音频频谱点阵
  18. 协议僵化 or 协议僵化
  19. 编译期注解之JavaPoet
  20. 苹果批Meta高额抽成行为:暴露了其虚伪面孔

热门文章

  1. (一)linux基本命令
  2. html 样式权重,CSS 权重详解
  3. 生活中的可靠性小案例9:由艾草水联想到的腐蚀问题
  4. 【项目实训】UE4物件质量设置相关
  5. word中“居中”,“标准”不能解决(公式/图片)和文字不在一行的处理办法
  6. (六)深入理解蓝牙BLE之“空口包格式”
  7. jtag keil v11驱动_Keil for ARM/ Realview MDK 中用JTAG调试的方法
  8. linux附加组命令,如何从Linux命令行将用户添加到组
  9. vue前端处理后台返回的Long型数据精度丢失
  10. 解决Vue 前端Long型超过16位精度丢失问题