【Code Tools】AB性能测试工具(二)
2024-08-31 03:33:01
一、测试Get请求
1.每次并发请求10个,总共1000个请求
ab -n -c https://www.baidu.com/
2.指定Header参数
通过-H来指定
ab -n -c -H 'Accept-Encoding: gzip' -H 'storeId: 12' https://www.baidu.com/?a=1&b=2
二、测试Post请求
ab -n -c -p "post.txt" -T "application/json" -H "Content-Type: application/json" https://www.baidu.com/
-n:总请求次数(最小默认为 1);
-c:并发次数(最小默认为 1 且不能大于总请求次数,例如:10 个请求,10 个并发,实际就是 1 人请求 1 次);
-p:post 参数文档路径(-p 和 -T 参数要配合使用);
-T:用于POST/PUT数据的内容类型头(即设置post.txt中的参数类型)
其他参数如下:
通过ab -help查看
➜ ~ ab -help
Usage: ab [options] [http[s]://]hostname[:port]/path
Options are:
-n requests Number of requests to perform
-c concurrency Number of multiple requests to make at a time
-t timelimit Seconds to max. to spend on benchmarking
This implies -n
-s timeout Seconds to max. wait for each response
Default is seconds
-b windowsize Size of TCP send/receive buffer, in bytes
-B address Address to bind to when making outgoing connections
-p postfile File containing data to POST. Remember also to set -T
-u putfile File containing data to PUT. Remember also to set -T
-T content-type Content-type header to use for POST/PUT data, eg.
'application/x-www-form-urlencoded'
Default is 'text/plain'
-v verbosity How much troubleshooting info to print
-w Print out results in HTML tables
-i Use HEAD instead of GET
-x attributes String to insert as table attributes
-y attributes String to insert as tr attributes
-z attributes String to insert as td or th attributes
-C attribute Add cookie, eg. 'Apache=1234'. (repeatable)
-H attribute Add Arbitrary header line, eg. 'Accept-Encoding: gzip'
Inserted after all normal header lines. (repeatable)
-A attribute Add Basic WWW Authentication, the attributes
are a colon separated username and password.
-P attribute Add Basic Proxy Authentication, the attributes
are a colon separated username and password.
-X proxy:port Proxyserver and port number to use
-V Print version number and exit
-k Use HTTP KeepAlive feature
-d Do not show percentiles served table.
-S Do not show confidence estimators and warnings.
-q Do not show progress when doing more than requests
-l Accept variable document length (use this for dynamic pages)
-g filename Output collected data to gnuplot format file.
-e filename Output CSV file with percentages served
-r Don't exit on socket receive errors.
-m method Method name
-h Display usage information (this message)
-I Disable TLS Server Name Indication (SNI) extension
-Z ciphersuite Specify SSL/TLS cipher suite (See openssl ciphers)
-f protocol Specify SSL/TLS protocol
(TLS1, TLS1., TLS1. or ALL)
最新文章
- Java 日志性能优化
- shiro的简单使用
- ios基础篇(十)——UINavgationController的使用(一)UIBarButtonItem的添加
- python 基础干货 01
- oracle 时间比较查询
- JAVA 鲜为人知的二次标记 第六节
- 一起学JUCE之Atomic
- qt 访问容器
- 【Android】Android 手机忘记锁屏密码的解决办法
- 跨浏览器的javascript事件的封装
- Python:正则表达式
- Vue中 export default 和 export 区别
- OpenWRT路由器使用ipv6拨号上网教程
- Linux下的信号详解
- 关于django-rest-freamwork中的View
- git经常使用命令和问题
- Java Socket通信实例
- 解决安装Apache中出现checking for APR... no configure: error: APR not found. Please read the documentation的问题
- linux文件管理 ->; 系统目录结构
- Mysql数据库报错1264