浅谈Web性能测试

Posted 自动化软件测试

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了浅谈Web性能测试相关的知识,希望对你有一定的参考价值。

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

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

  web性能测试之HTTP请求

  关于性能测试中,HTTP请求类的性能指标都需要我们去关注些什么?

  响应时间,这里的响应时间一定得是前端+后端的响应时间,我们惯性的思维都是只关注后端服务的响应时间,其实前端的响应时间也是须考虑在内的。

  并发测试的相应数据,这部分也得考虑前端数据,这只是一个大概的补充,因为具体的系统需要的数据不一样,其中也不乏包括响应时间。

  其中,前端的响应时间都涉及到哪些环节呢?

  DNS解析

  各种请求的连接

  TLS的建立

  字节流的发送

  另外,后端响应时间涉及的环节:

  等待(前端请求)

  接收信息流

  返回响应数据

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

  web性能测试之Jmeter

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

浅谈Web性能测试

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

  web性能测试之Loadrunner

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

  web性能测试之响应时间

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

浅谈Web性能测试

  关于整体系统压测策略

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

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

  关于性能测试日志

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

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

  Jmeter端日志

  Tomcat层日志

  Server层日志

  关于OS层数据监控

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

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

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

转载:

https://blog.csdn.net/weixin_41055728/article/details/80176170

今日推荐课程

课程详情下方扫码咨询


Testfan为广大测试人员提供技术交流群:

Selenium自动化测试群:7501017

测试开发巅峰群:521192806

Appium自动化测试:534129320

LoadRunner性能测试群:495447734

以上是关于浅谈Web性能测试的主要内容,如果未能解决你的问题,请参考以下文章

浅谈性能测试策略制定

性能测试浅谈

浅谈软件性能测试中关键指标的监控与分析

浅谈性能测试分析

浅谈软件性能测试中关键指标的监控与分析

性能测试浅谈