首页 > 其他分享 >AB性能测试分析

AB性能测试分析

时间:2024-04-18 13:11:46浏览次数:24  
标签:AB 请求 Completed 测试 requests 1000 性能 mean

官方文档:https://httpd.apache.org/docs/trunk/programs/ab.html
测试场景:模拟10个用户,对应用接口发起总共1000次请求。
测试命令: ab -n 1000 -c 10 'http://139.224.215.199:60011/api/v1/quicksearch/?id=170'
测试报告:
image.png
apache的版本信息,与本次测试无关
[root@VM-16-11-centos ~]# ab -n 1000 -c 10 'http://139.224.215.199:60011/api/v1/quicksearch/?id=170'
This is ApacheBench, Version 2.3 <$Revision: 1430300 $>
Copyright 1996 Adam Twiss, Zeus Technology Ltd, http://www.zeustech.net/
Licensed to The Apache Software Foundation, http://www.apache.org/
显示测试完成度,在请求数量很多时会分行显示当前完成数量。如果测试发起请求数量较少,完成较快,无中间过程显示。
Benchmarking 139.224.215.199 (be patient)
Completed 100 requests
Completed 200 requests
Completed 300 requests
Completed 400 requests
Completed 500 requests
Completed 600 requests
Completed 700 requests
Completed 800 requests
Completed 900 requests
Completed 1000 requests
Finished 1000 requests

Server Software: 被测试的服务器所用的软件信息,因为没有使用类似nginx的服务,所以没显示。
Server Hostname: 139.224.215.199 被测主机名
Server Port: 60011 被测主机的服务端口号,一般http请求的默认端口号是80,https默认使用443端口

Document Path: /api/v1/quicksearch/?id=170 请求的具体路径
Document Length: 326 bytes 请求的响应结果的大小

Concurrency Level: 10 并发级别,也就是并发数,请求中-c参数指定的数量
Time taken for tests: 5.344 seconds 本次测试总共花费的时间
Complete requests: 1000 本次测试总共发起的请求数量
Failed requests: 0 失败的请求数量。因网络原因或服务器性能原因,发起的请求并不一定全部成功,通过该数值和Complete requests相除可以计算请求的失败率,作为测试结果的重要参考。
Write errors: 0 写入期间失败的错误数(损坏的管道)。
Total transferred: 872000 bytes 总共传输的数据量,指的是ab从被测服务器接收到的总数据量,包括响应体内容和请求头信息。
HTML transferred: 326000 bytes 从服务器接收的文档字节总数。该数字不包括 HTTP 标头中收到的字节,等于Document Length*Complete requests=326 bytes*1000=326000 bytes
Requests per second: 187.14 [#/sec] (mean) 平均(mean)每秒完成的请求数:QPS,这是一个平均值,等于Complete requests/Time taken for tests=1000/5.344=187.14
Time per request: 53.435 [ms] (mean) 从用户角度看,完成一个请求所需要的时间(因用户数量不止一个,服务器完成10个请求,平均每个用户才接收到一个完整的返回,所以该值是下一项数值的10倍。)
Time per request: 5.344 [ms] (mean, across all concurrent requests) 服务器完成一个请求的时间
Transfer rate: 159.36 [Kbytes/sec] received 网络传输速度。对于大文件的请求测试,这个值很容易成为系统瓶颈所在。要确定该值是不是瓶颈,需要了解客户端和被测服务器之间的网络情况,包括网络带宽和网卡速度等信息。

Connection Times (ms)
min mean[+/-sd] median max
Connect: 7 9 0.9 9 12
Processing: 35 43 14.0 40 226
Waiting: 35 43 14.0 40 226
Total: 42 52 14.1 49 235
这几行组成的表格主要是针对响应时间也就是第一个Time per request进行细分和统计。一个请求的响应时间可以分成网络链接(Connect),系统处理(Processing)和等待(Waiting)三个部分。表中min表示最小值; mean表示平均值;[+/-sd]表示标准差(Standard Deviation) ,也称均方差(mean square error),这个概念在中学的数学课上学过,表示数据的离散程度,数值越大表示数据越分散,系统响应时间越不稳定。 median表示中位数; max当然就是表示最大值了。
需要注意的是表中的Total并不等于前三行数据相加,因为前三行的数据并不是在同一个请求中采集到的,可能某个请求的网络延迟最短,但是系统处理时间又是最长的呢。所以Total是从整个请求所需要的时间的角度来统计的。这里可以看到最慢的一个请求花费了235ms,这个数据可以在下面的表中得到验证。

Percentage of the requests served within a certain time (ms)
50% 49
66% 51
75% 53
80% 54
90% 59
95% 62
98% 64
99% 163
100% 235 (longest request)
//这个表第一行表示有50%的请求都是在49ms内完成的,可以看到这个值是比较接近平均系统响应时间(第一个Time per request: 53.435 [ms] (mean) )
以此类推,90%的请求是小于等于59ms的。刚才我们看到响应时间最长的那个请求是235ms,那么显然所有请求(100%)的时间都是小于等于235毫秒的,也就是表中最后一行的数据肯定是时间最长的那个请求(longest request)。

标签:AB,请求,Completed,测试,requests,1000,性能,mean
From: https://www.cnblogs.com/liuyangQAQ/p/18143308

相关文章

  • Go 单元测试之mock接口测试
    目录一、gomock工具介绍二、安装三、使用3.1指定三个参数3.2使用命令为接口生成mock实现3.3使用make命令封装处理mock四、接口单元测试步骤三、小黄书Service层单元测试四、flags五、打桩(stub)参数六、总结6.1测试用例定义6.2设计测试用例6.3执行测试用例代码6.4运行测......
  • 基于深度学习的停车场车辆检测算法matlab仿真
    1.算法运行效果图预览   上图测试结果如下图所示:   2.算法运行软件版本matlab2022a 3.算法理论概述     随着城市交通管理和智慧停车系统的快速发展,停车场车辆检测已成为实现高效车位管理、智能计费的关键技术之一。深度学习,尤其是基于卷积神经网络(CN......
  • dremio SchemaMutability 简单说明
    dremioSchemaMutability属于一个枚举,定义了schema的可变性能力()参考定义publicenumSchemaMutability{@Tag(1)ALL(true,true,true,true), @Tag(2)NONE(false,false,false,false), @Tag(3)SYSTEM_TABLE(false,true,false......
  • Unity性能优化——资源优化(一)
    实际项目中发现的许多问题都是源自无心之过:临时的“测试”更改和疲惫不堪的开发人员的误点击可能会暗地里添加性能不良的资源或更改现有资源的导入设置。对于任何大规模的项目,最好是将防止人为错误作为第一道防线。编写一小段代码来禁止将4K未压缩纹理添加到项目中,是相对简单的......
  • ABC191 复盘
    ABC191复盘[ABC191C]DigitalGraffiti思路解析求不规则图形的边数,根据题目可知多边形的内角只有\(90^\circ\)和\(270^\circ\),所以只需要从四个方向扫描一遍,求出每个方向上分别有几条边即可。code#include<bits/stdc++.h>usingnamespacestd;intn,m;charch[15][15......
  • matlab库零散笔记
    matlab.pylpot1.函数plt.plot()用于绘制线图和散点图#语法格式#画单条线plot([x],y,[fmt],*,data=None,**kwargs)#画多条线plot([x],y,[fmt],[x2],y2,[fmt2],...,**kwargs)x,y:点或线的节点,x为x轴数据,y为y轴数据,数据可以列表或数组。fmt:可选,定......
  • 肖sir___性能之nmon(性能硬件指标)
    nmon基本介绍,nmon是帮助在一个屏幕上显示所有重要的性能优化信息,并动态地对其进行更新。分析工具分析AIX和Linux性能的免费工具,这个高效的工具可以工作于任何屏幕、telnet会话、甚至拨号线路。另外,它并不会消耗大量的CPU周期,通常低于百分之二。在更新的计算机上,其CPU使......
  • 肖sir___性能之插件(软件指标)
    一、监听器中的插件@gc - Active Threads Over Timeip 活动线程时间@gc - AutoStop Listener 自动停止侦听器@gc - Bytes Throughput Over Timejp 字节吞吐量随时间变化@gc -Composite Graph 综合图@gc - Connect Times Over Timejp 连接时间@gc -Conso......
  • 肖sir__ 性能之软硬件指标
    软件性能指标1、响应时间(RT)响应时间是一个系统最重要的指标之一,它的数值大小直接反应了系统的快慢。响应时间是指执行一个请求从开始到最后收到响应数据所花费的总体时间。响应时间=发起请求网络传输时间+服务器处理时间+返回响应网络传输时间2、平均响应时间、百分位响应时间......
  • ABC349
    不用考试了/kx/kx/kx/kx/kx/kx/kxABCD一眼。E发现状态不多,可以直接搜,状态之间的转移关系很容易让人想到minimax搜索,直接做即可。注意细节。F题面没有废话,数据范围良心,做法巧妙,好评。link一看到lcm,不难想到要分解质因数,试除法可以通过,不过我们更喜欢Pollard-Rho。将\(......