性能测试

  • 概念要能落地。
  • 并发: 默认多个人同时请求。性能测试中,
  • 用1个线程,循环请求100次。 ------自动测试
  • 100个线程,并发请求1次。 -----性能测试
  • 得到性能指标: 但是,性能测试,不是为了 冷冰冰的指标数据,而进行的。通过数据的意义,发现数据背后,可能存在的性能问题,并进行性能优化。
  • 性能要实现并发: 是使用工具。 工具,也包含,用代码。
  • 性能测试并发的实现方式: 进程、线程、协程
  • Jmeter用: 线程
  • loadruner用: 默认是用线程,也可以用进程
  • python+locust用: 协程

进程: 资源拥有着,一个程序,至少有一个进程和一个线程。

线程: 用资源来执行操作。

协程:比线程还要小的执行者。


性能测试概念_响应时间

并发测试

就是用 多个人 同时请求。

  • 并发: 同一间发现相同的请求
  • 并行:同一时间发起的请求可以相同、也可以不同

侠义并发测试:同一个时间有大量的并发请求同一个接口。 -------有集合点性能测试。

广义并发测试:同一个时间有大量的并发请求(可以相同、也可以不同) -------性能测试,更多时候用这种。

基准测试

进行第一次性能测试,得到性能指标数据。

就是我们以后,进行性能判断的基准。参考值

现在企业中,性能测试指标关注重点:

  • tps ----如: 产品计算密集型,就是期望服务的处理能力越高越好。----这样的产品性能测试,侧重在 tps 的数值上。
  • 并发用户数 ------如: toc的应用性能产品的接口性能。-----期望能同时支持的人越多越好。 响应时间,是来判断这个并发用户数的一个标准。

负载测试

逐步的增加并发用户数,调用接口,发起请求。观察性能指标数据,通过这些数据的实时展现,判断是否,达到了服务的瓶颈的并发用户数的区间。

指标判断的标准: 1、平均响应时间<1.5s 2、错误率<0.1%, 3、资源利用率 <80%

区间的起始、到最大之间,缩小步长,从而得到 具体并发用户数。

10-20-30-40-50-60----------90-100-------

观察,性能指标数据: 假设90的时候,平均响应时间<1.5s 错误率<0.1%,资源利用率 <80%。 并发用户数在100的时候, 平均响应时间、错误率、资源利率这三个标准中,有任意一个,超了。就可以得到可接受的并发用户数的区间 [90,100)

第二论负载测试,起始值 90-91-92-93-94--------100 ,观察性能指标数据。 三个标准来衡量,96正常,97时候有一个标准超了。

此时,这个接口 最大可接受的并发用户数就是 96

可以用 这个 96并发用户数,取做性能测试, 把结果记录下,作为:基准


压力测试、压测、稳定测试、容量测试、配置测试

口语中的压测:先做负载测试,得到 最大可接受的并发用户数。 然后,用这个最大可接受的并发用户数,做性能测试,得到性能指标数据,根据这些指标数据,判断是否有性能问题,问题可能在哪里。

压力测试: 长时间的性能测试。 通过长时间,来发现 服务器是否存在不稳定性的问题。

长时间: 现在一般,用 小时为单位。 以前是7*24.

这种测试的 并发用户数 ,应该设置多少呢? 这个问题,就要 压力测试 & 稳定性能 区分。

不稳定: 动不动就 重启、宕机、报错 --------就会说 服务不稳定。 瞬间压力大,就很容易导致不稳定。

瞬间压力: 比较端的时间 ,有非常大的请求。-----稳定性能测试,一般就是 并发用户数比较高。一般会加集合点。

压力测试, 相对 稳定测试而已,就会是 并发用户数较低。压力测试的并发用户数,我们就会选择 最大可接受并发用户数的[20%,80%]区间的中的值。

稳定性能测试,就会取最大可接受并发用户数的[80%, 无穷大]

容量测试: 测试数据库中数据量级不同的时候,性能的差异。

造数据: 造的数据,一定要完整的正确吗?

配置测试:不要仅理解为硬件配置,其实是更改服务的关键参数之后,进行性能测试。



性能指标

并发用户数: 并发请求的人 -------性能测试的源动力。=====请求的人,不等于请求账户。

响应时间:从发起请求,到收到响应之间的时间。(网络传输时间 + 服务器内部处理时间)不包括前端渲染时间。

  • 网络传输时间越接近0, 响应时间 越接近 服务器内部处理时间 ------性能测试,尽可能独立网络、不要用无线网络。尽可能用局域网。
  • 响应时间,一般用 平均响应时间 ART
  • 90% 95% 99%: 所有请求的响应时间,做要给从低到高的排序。总量90% 95% 99% 那个点的时间数据,就是90%,95% 99%的响应时间
  • 有的企业用 90%数据,作为 响应时间的标准。这个就要严格很多。------ 说明,接口,越稳定。

吞吐量

tps\QPS\RPS\HPS

吞吐率

资源利用率