Home
Linux
Golang
MySQL
PHP
Other
Windows上使用ab压力测试
创建日期:2020-10-28 17:48:02
更新日期:2023-02-06 16:49:21
栏目:
Linux
浏览:1480
[TOC] ## 下载 Apache 官网地址 :https://www.apachehaus.com/ ## 使用 解压,进入解压后的 `bin` 目录,如下图所示,打开 `cmd` 命令行窗口  测试并发:`ab -n 100 -c 10 http://laravel6.com/`,如下图所示 参数解释: - `-n` 请求数 - `-c` 并发数  ## 压测结果分析 ``` Server Software: Apache/2.4.39 Server Hostname: laravel6.com Server Port: 80 # 压测接口 Document Path: / # 页面数据/返回的数据量 Document Length: 57 bytes # 并发数 Concurrency Level: 10 # 总耗时,秒 Time taken for tests: 35.134 seconds # 完成请求数 Complete requests: 100 # 失败请求 Failed requests: 92 (Connect: 0, Receive: 0, Length: 92, Exceptions: 0) # 总传输字节数,包含http的头信息等 Total transferred: 120618 bytes # HTML字节数,实际的页面传递字节数 HTML transferred: 5794 bytes # 每秒请求数,这个参数很重要,代表服务器吞吐量 # 此处为每秒 2.85 个请求 Requests per second: 2.85 [#/sec] (mean) # 用户平均请求等待时间,毫秒 Time per request: 3513.393 [ms] (mean) # 服务器平均处理时间,所有并发请求的平均值 Time per request: 351.339 [ms] (mean, across all concurrent requests) # 每秒获取的数据长度 Transfer rate: 3.35 [Kbytes/sec] received # 连接的 最小时间、平均值、中值、最大值 Connection Times (ms) min mean[+/-sd] median max Connect: 0 1 0.4 1 3 # 处理时间 Processing: 613 3371 2789.5 2568 16589 # 等待时间 Waiting: 607 3370 2789.6 2568 16589 # 合计时间 Total: 614 3372 2789.5 2569 16590 # 特定时间内服务的请求百分比(ms) Percentage of the requests served within a certain time (ms) 50% 2569 #表示 50% 的请求在 2569ms 内返回 66% 2805 #表示 66% 的请求在 2805ms 内返回 75% 2983 80% 3072 90% 9219 95% 11503 98% 13361 99% 16590 100% 16590 (longest request) ``` ## 附录:语法解释 | 参数 | 说明 | | ------------ | ------------ | | -n requests |执行的请求数,即一共发起多少请求 | | -c concurrency |请求并发数 | | -t timelimit |测试所进行的最大秒数。其内部隐含值是-n 50000,它可以使对服务器的测试限制在一个固定的总时间以内。默认时,没有时间限制。 | | -s timeout |指定每个请求的超时时间,默认是30秒。| | -b windowsize |指定tcp窗口的大小,单位是字节 | | -B address |指定在发起连接时绑定的ip地址是什么 | | -p postfile |指定要POST的文件,同时要设置-T参数 | | -u putfile |指定要PUT的文件,同时要设置-T参数 | | -T content-type|指定使用POST或PUT上传文本时的文本类型,默认是'text/plain'。 | | -v verbosity |设置详细模式等级。 | | -w |将结果输出到html的表中。 | | -i |使用HEAD方式代替GET发起请求。 | | -x attributes |作为表属性插入的字符串 | | -y attributes |以表格方式输出时,设置html表格tr属性。 | | -z attributes |以表格方式输出时,设置html表格th或td属性。 | | -C attribute |添加cookie,比如'Apache=1234'。(可重复) | | -H attribute |为请求追加一个额外的头部,比如'Accept-Encoding: gzip'。(可重复) | | -A attribute |对服务器提供BASIC认证信任。用户名和密码由一个:隔开,并以base64编码形式发送。无论服务器是否需要(即,是否发送了401认证需求代码),此字符串都会被发送。 | | -P attribute |对一个中转代理提供BASIC认证信任。用户名和密码由一个:隔开,并以base64编码形式发送。无论服务器是否需要(即, 是否发送了401认证需求代码),此字符串都会被发送。 | | -X proxy:port |指定代理服务器的IP和端口。 | | -V |打印版本信息 | | -k |启用HTTP KeepAlive功能,即在一个HTTP会话中执行多个请求。默认时,不启用KeepAlive功能。 | | -d |不显示"percentage served within XX [ms] table"的消息(为以前的版本提供支持)。 | | -q |如果处理的请求数大于150,ab每处理大约10%或者100个请求时,会在stderr输出一个进度计数。此-q标记可以抑制这些信息。 | | -g filename |把所有测试结果写入一个'gnuplot'或者TSV(以Tab分隔的)文件。此文件可以方便地导入到Gnuplot,IDL,Mathematica,Igor甚至Excel中。其中的第一行为标题。 | | -e filename |产生一个以逗号分隔的(CSV)文件,其中包含了处理每个相应百分比的请求所需要(从1%到100%)的相应百分比的(以微妙为单位)时间。由于这种格式已经“二进制化”,所以比'gnuplot'格式更有用。 | | -r |当收到错误时不要退出。 | | -m method |方法名 | | -h |输出帮助信息 |
内容版权声明:本文为舒孝元原创文章,转载无需和我联系,但请注明来自
舒孝元博客:https://www.shuxiaoyuan.com/info/88
联系邮箱:sxy@shuxiaoyuan.com