技术 775 字

Mac下的Web性能压力测试工具:ab(ApacheBench)

Mac下自带apache,查看版本:

apachectl -v

查看ab版本:

ab -V

ab压力测试工具的用法,查看:

ab --help

man ab

下面,我们以请求百度为例:

ab -n 100 -c 10 https://www.baidu.com/

ab -n 请求数 -c 并发数 URL

常用指令: -n requests 要执行的请求数 -c concurrency 一次发出的多个请求数 -t timelimit 秒到最大值。花费在基准测试上这意味着 -n 50000 -s timeout 秒到最大值。等待每个响应默认为 30 秒 -b windowssize TCP 发送/接收缓冲区的大小,以字节为单位 -B address 建立传出连接时要绑定的地址 -p postfile 包含要 POST 的数据的文件。还记得设置 -T -u putfile 包含要 PUT 的数据的文件。还记得设置 -T -T content-type 用于 POST/PUT 数据的内容类型标头,例如。‘应用程序/x-www-form-urlencoded’默认为“文本/纯文本” -v verbosity 要打印多少故障排除信息 -w 在 HTML 表格中打印结果 -i 使用 HEAD 而不是 GET -x attributes 字符串作为表属性插入 -y 属性 字符串作为 tr 属性插入 -z attributes 字符串作为 td 或 th 属性插入 -C 属性 添加cookie,例如。 ‘阿帕奇 = 1234’。 (可重复) -H 属性添加任意标题行,例如。 ‘接受编码:gzip’在所有正常标题行之后插入。 (可重复) -A 属性 添加Basic WWW Authentication,属性是冒号分隔的用户名和密码。 -P attribute 添加Basic Proxy Authentication,属性是冒号分隔的用户名和密码。 -X proxy:port 要使用的代理服务器和端口号 -V 打印版本号并退出 -k 使用 HTTP KeepAlive 功能 -d 不显示服务表的百分位数。 -S 不显示置信度估计器和警告。 -q 处理超过 150 个请求时不显示进度 -l 接受可变文档长度(用于动态页面) -g 文件名 将收集的数据输出到 gnuplot 格式文件。 -e 文件名 输出带有百分比的 CSV 文件 -r 不要在套接字接收错误时退出。 -m method 方法名称 -h 显示使用信息(此消息) -I 禁用 TLS 服务器名称指示 (SNI) 扩展 -Z ciphersuite 指定 SSL/TLS 密码套件(参见 openssl ciphers) -f 协议 指定 SSL/TLS 协议(TLS1、TLS1.1、TLS1.2 或全部) -E certfile 指定可选的客户端证书链和私钥