web站点基准测试工具ab命令学习

基准测试工具ab命令学习

    • [1. ab命令介绍](#1. ab命令介绍)
    • [2. ab常用参数介绍](#2. ab常用参数介绍)
    • [3. 实战测试](#3. 实战测试)

1. ab命令介绍

ab是 Apache HTTP 服务器基准测试工具,单也常被用于评估 Web 服务器在不同负载下的性能表现,如吞吐量、响应时间、并发处理能力等。它通过模拟多用户并发请求,生成详细的性能报告。

2. ab常用参数介绍

参数 含义 示例场景
-n <请求数> 总请求数量(必须指定) -n 1000 表示共发送 1000 次请求
-c <并发数> 并发请求数量(同时发起的请求数) -c 100 表示每次 100 个并发
-t <秒数> 测试超时时间(默认不限时,此参数优先级高于 -n) -t 60 表示测试最多持续 60 秒
-s <秒数> 单个请求的超时时间(默认 30 秒) -s 10 表示单个请求最多等 10 秒
-p <文件> 发送 POST 请求的数据文件(需配合 -T) -p data.json 表示 POST 文件内容
-T <类型> 指定 POST/PUT 的 Content-Type -T application/json 表示 JSON 格式
-k 启用 HTTP 长连接(Keep-Alive) 测试支持长连接的服务(如 API)
-H <头信息> 自定义请求头(可重复添加) 添加 Token、User-Agent 等
-C 添加 Cookie(可重复添加) 模拟登录状态的请求
-A <账号:密码> 基本 HTTP 认证(用户名:密码) 测试需要登录的受保护接口
-w 以 HTML 表格形式输出结果 便于保存为网页查看
-g <文件> 生成 gnuplot 格式数据文件(可绘图) 用于生成性能趋势图
-e <文件> 生成 CSV 文件(包含响应时间百分比分布) 用于 Excel 分析响应延迟分布

3. 实战测试

我的配置是1c2g

安装nginx

复制代码
dnf -y install nginx
systemctl start nginx

发送1w的请求数、每次1k的并发:

复制代码
ab -n 10000 -c 1000  http://127.0.0.1/
clike 复制代码
This is ApacheBench, Version 2.3 <$Revision: 1913912 $>
Copyright 1996 Adam Twiss, Zeus Technology Ltd, http://www.zeustech.net/
Licensed to The Apache Software Foundation, http://www.apache.org/

Benchmarking 127.0.0.1 (be patient)
Completed 1000 requests
Completed 2000 requests
Completed 3000 requests
Completed 4000 requests
Completed 5000 requests
Completed 6000 requests
Completed 7000 requests
Completed 8000 requests
Completed 9000 requests
Completed 10000 requests
Finished 10000 requests


Server Software:        nginx/1.20.1			# 软件版本
Server Hostname:        127.0.0.1				# 访问地址
Server Port:            80							# 端口

Document Path:          /								# 访问路径
Document Length:        7620 bytes				# 页面大小

Concurrency Level:      1000						# 并发数
Time taken for tests:   0.723 seconds			# 
Complete requests:      10000						# 共完成 10000 次请求
Failed requests:        128							# 失败请求
   (Connect: 0, Receive: 0, Length: 64, Exceptions: 64)		
Total transferred:      78047280 bytes
HTML transferred:       75712320 bytes
Requests per second:    13827.80 [#/sec] (mean)			# 每秒请求数,核心吞吐量指标,数值越高说明服务处理能力越强。
Time per request:       72.318 [ms] (mean)					# 单个用户发起请求到收到响应的平均时间,在1000并发下
Time per request:       0.072 [ms] (mean, across all concurrent requests) 	# 对所有并发即 1000 个并发请求的平均分摊延迟
Transfer rate:          105392.77 [Kbytes/sec] received		# 传输速率
Connection Times (ms)			# 连接耗时
              min  mean[+/-sd] median   max
Connect:        0   33   5.2     33      52
Processing:     6   37   7.6     35      64
Waiting:        0   29   6.6     28      50
Total:         26   70   8.0     69      97

Percentage of the requests served within a certain time (ms)		# 百分比延迟分布
  50%     69
  66%     70
  75%     71
  80%     72
  90%     82
  95%     86
  98%     88
  99%     88
 100%     97 (longest request)			
相关推荐
我的xiaodoujiao1 小时前
快速学习Python基础知识详细图文教程9--函数进阶
开发语言·python·学习·测试工具
川石课堂软件测试3 小时前
安全测试|常见SQL注入攻击方式、实例及预防
服务器·数据库·sql·功能测试·测试工具·安全·单元测试
天才测试猿1 天前
Selenium自动化测试网页加载太慢怎么解决?
自动化测试·软件测试·python·selenium·测试工具·职场和发展·测试用例
川石课堂软件测试2 天前
安全测试|服务器安全加固方法
服务器·功能测试·测试工具·jmeter·mysql·web安全·单元测试
ck-joker2 天前
两个大模型同时翻车了--LLM应用A/B测试避坑实战
语言模型·ab测试
Saniffer_SH4 天前
NAND技术(二):从 Channel、Die/LUN、P/E Cycle 到 LDPC,一次讲透 NAND 里那些最容易误解的概念
人工智能·驱动开发·嵌入式硬件·测试工具·fpga开发·计算机外设·压力测试
杭州双色云谱4 天前
2026年蓝光光谱照度计选购与实战指南:双色云谱如何守护光环境安全?
科技·测试工具
一孤程4 天前
AI辅助测试用例生成实战——用大模型把测试设计效率提升300%
人工智能·测试工具·ai·aigc·测试用例·测试·测试覆盖率
孟无岐4 天前
埋点驱动调优:TapTap 数据反推卡点、LTV 推算与 A/B 测试实战
数据分析·ab测试·数据驱动·埋点·ltv·付费漏斗·留存优化