1。mac基于homebrew 安装ab
brew install httpd
2.安装好后查看版本
ab -V
测试参数解释
-n: 这个参数后面跟的是要发出的请求总数。例如,-n 1000 表示ab将发出1000个请求。
-c: 这个参数后面跟的是并发数,即同时发出的请求数量。例如,-c 100 表示ab将尝试同时发出100个请求。
-t: 这个参数后面跟的是要持续测试的时间(秒)。例如,-t 60 表示ab将进行60秒的压力测试。
-p: 这个参数后面跟的是一个文件,文件中包含POST请求的数据。例如,-p postdata.txt 表示使用名为postdata.txt的文件中的数据作为POST请求的body。
-T: 这个参数后面跟的是Content-Type头部的值,用来指定发送的数据类型。例如,-T application/json 表示发送的数据是JSON格式。
-H: 这个参数后面跟的是自定义的请求头。可以多次使用来添加多个头。例如,-H "Host: example.com" 表示添加一个Host请求头。
-v: 这个参数后面跟的是详细模式,可以是0到4的数字,数字越大,输出的信息越详细。例如,-v 2 表示中等详细程度的输出。
-w: 这个参数后面跟的是输出结果的格式,通常设置为HTML格式,以表格形式展示结果。例如,-w 或 -w html。
-i: 如果设置为1,ab将使用HTTP HEAD方法代替GET。
-g: 这个参数后面跟的是输出到文件的gauges(度量)的列表,用于记录测试期间的统计数据。
-e: 这个参数后面跟的是输出到文件的错误信息列表。
-S: 强制使用HTTP协议版本(1.0或1.1)。
-C: 后面跟的是cookie值,用于模拟带有cookie的请求。
-d: 后面跟的是POST请求的数据,直接在命令行中指定。
-X: 后面跟的是代理服务器的地址和端口。
-Z: 后面跟的是使用基本认证的用户名和密码。
-M: 后面跟的是HTTP方法(如GET、POST、PUT等)。
-k: 启用HTTP KeepAlive功能,允许多个请求复用同一个连接。
-V: 显示ab的版本信息。
-z: 后面跟的是在测试完成后要执行的shell命令。
使用ab时,可以根据需要组合这些参数来模拟不同的请求场景和负载情况。例如,要测试一个Web服务器在100个并发用户下处理1000个GET请求的能力,可以使用以下命令:
bash ab -n 1000 -c 100 http://example.com/ 要发送POST请求,可以指定数据和内容类型:
bash ab -n 1000 -c 100 -p postdata.txt -T application/x-www-form-urlencoded http://example.com/api/submit
测试结果: Document Path: 测试的URL路径,这里是 /api/auth/me。
Document Length: 服务器响应的内容长度,这里是157字节。
Concurrency Level: 测试时设定的同时并发请求的数量,这里是500。
Time taken for tests: 完成所有请求所花费的总时间,这里是0.722秒。
Complete requests: 完成的请求总数,这里是2000。
Failed requests: 失败的请求总数,包括连接失败、接收失败、长度不一致和异常,这里是1。
Non-2xx responses: 非2xx状态码的响应数量,表示请求没有成功,这里是1999。
Total transferred: 传输的总字节数,包括请求和响应,这里是617691字节。
HTML transferred: 实际的响应内容字节数,这里是313843字节。
Requests per second: 每秒处理的请求数,这里是2768.78。
Time per request: 每个请求的平均处理时间,这里是180.585毫秒(mean)和0.361毫秒(across all concurrent requests)。
Transfer rate: 数据传输速率,这里是835.08 Kbytes/sec。
Connection Times: 连接时间的统计,包括:
min: 最短连接时间。 mean: 平均连接时间。 sd: 连接时间的标准差。 median: 中位数连接时间。 max: 最长连接时间。 Percentage of the requests served within a certain time: 请求在特定时间内得到服务的百分比,显示了不同时间阈值下的请求分布。
本文为码上有钱原创文章,转载无需和我联系,但请注明来自码上有钱博客https://oldcai688.com
最新评论