性能测试工具

Jmeter

RunnerGo

runnerGo
Apipost-TeamUpdated Jul 15, 2024
压测值
含义
计算方法
总请求数
总共发送送请求总数
并发数*轮次
执行时间
压测任务执行时间
任务结束时间-任务开始时间
成功请求数
http请求code为200的请求数量
失败请求数
http请求code非200或者连接异常请求数量
错误率
压测出错比例
失败次数/总请求数 * 1000
总接收数据
总结接收到数据总字节数
累加每次返回结果的字节数量
每秒请求数
每秒平均请求数量
请求总次数/请求总时间
每秒成功请求数
每秒平均成功请求数量
成功请求总次数/成功请求总时间
每秒接收字节数
每秒接收平均字节数
总接收字节数/总请求时间
最大响应时间
最大请求执行时间
所有请求中执行最长的时间
最小响应时间
最小请求执行时间
所有请求中执行最小的时间
平均响应时间
平均响应时间
请求总时间/请求总次数
10%
前10%请求完成时间
所有请求花费时间正序排序,取10%位置的执行时间
25%
前25%请求完成时间
所有请求花费时间正序排序,取20%位置的执行时间
50%
前50%请求完成时间
所有请求花费时间正序排序,取50%位置的执行时间
75%
前75%请求完成时间
所有请求花费时间正序排序,取75%位置的执行时间
90%
前90%请求完成时间
所有请求花费时间正序排序,取90%位置的执行时间
95%
前95%请求完成时间
所有请求花费时间正序排序,取95%位置的执行时间

k6

k6
grafanaUpdated Aug 17, 2024
K6 是一个现代化的、开源的负载测试框架,可以帮助开发者和测试人员对 Web 应用程序、API 以及微服务进行性能测试。K6 基于 JavaScript 编写,简单易学,不需要额外的编程语言或工具。同时该框架社区生态也很好,有很多拓展可以根据需要灵活的进行选择。
指标类型
名称
描述
Counter
计数器,对值进行累加
Gauge
最小值、最大值和最后一个值。
Rate
百分比
Trend
最小值、最大值、平均值和百分位数的统计数据指标
K6 始终都会收集的指标
名称
类型
描述
vue
Gauge
当前活动的虚拟用户数
vue_max
Gauge
虚拟用户的最大数量
iterations
Counter
脚本中的函数被执行的次数
data_received
Counter
接收到的数据量大小
data_sent
Counter
发送的数据量大小
iteration_duration
Trend
完成默认/主函数的一次完整迭代所花费的时间。
checks
Rate
checks 项的成功率
HTTP 特有的指标
名称
类型
描述
http_reqs
Counter
总请求数量
http_req_blocked
Trend
在发起请求之前被阻塞的时间
http_req_connecting
Trend
建立到远程主机的TCP连接所花费的时间。
http_req_tls_handshaking
Trend
与远程主机握手建立TLS会话所花费的时间
http_req_sending
Trend
将数据发送到远程主机所花费的时间
http_req_waiting
Trend
等待远程主机响应所花费的时间
http_req_receiving
Trend
从远程主机接收响应数据所花费的时间
http_req_duration
Trend
请求的总时间。它等于http_req_sending + http_req_waiting + http_req_receiving(即,远程服务器处理请求和响应花了多长时间,而没有初始DNS查找/连接时间)
http_req_failed
Rate
失败请求率
每一个 http 都会返回一个 HTTP Response 对象,下面是常用的一些属性。
属性
类型
Response.body
HTTP 响应正文
Response.cookies
响应 cookies ,属性是 cookie 名称,值是 cookie 对象数组
Response.error
发送请求失败后的错误信息。
Response.error_code
错误码
Response.headers
标头,键值对
Response.status
从服务器收到的 HTTP 响应代码
Response.timings
耗时(以毫秒为单位)
Response.timings.blocked
= http_req_blocked
Response.timings.connecting
= http_req_connecting
Response.timings.tls_handshaking
= http_req_tls_handshaking
Response.timings.sending
= http_req_sending
Response.timings.waiting
= http_req_waiting
Response.timings.receiving
= http_req_receiving
Response.timings.duration
= http_req_duration

ApacheBench(ab)

 ab 命令进行压力测试。ab 是 Apache HTTP 服务器的一个工具,可以用于测试 Web 服务器的性能。该命令需要在终端中执行。
以下是 ab 命令的基本用法:
其中,-n 参数指定要发送的请求数,-c 参数指定并发数,<url> 参数是要测试的 URL。例如,要发送 1000 个请求,每次并发 10 个连接,可以执行以下命令:
请注意,这些参数只是 ab 命令的一部分,还有其他参数可以使用,例如 -t 参数,用于指定测试的最长时间。你可以在终端中运行 man ab 命令来查看完整的 ab 命令文档和所有可用参数。

wrk

 

go-stress-testing

go-stress-testing
link1stUpdated Aug 17, 2024

对比

-
ab
locust
Jmeter
go-stress-testing
云压测
实现语言
C
Python
Java
Golang
-
UI界面
优势
使用简单,上手简单
支持分布式、压测数据支持导出
插件丰富,支持生成HTML报告
项目开源,使用简单,没有依赖,支持webSocket压测
更加真实的模拟用户,支持更高的压测力度
Loading...
目录
文章列表
王小扬博客
产品
Think
Git
软件开发
计算机网络
CI
DB
设计
缓存
Docker
Node
操作系统
Java
大前端
Nestjs
其他
PHP