AB使用时,网上通篇一律,在进行示例时使用的连接一般都是http://*.com,这种写法是没有带参数,如果你想测试一个写入的Case,那需要传递参数给后台,如何传递参数呢?
这里有一个登录的请求,需要登录名和密码,路径是这样的:
http://*/login.action?userName=admin&userPassWord=admin
使用该连接进行测试:ab -n 1 http://*/login.action?userName=admin&userPassWord=admin
发现由于存在特殊字符 & ,虽然命令执行成功,但是并不能处理 & 后的参数
关于AB使用的官网:http://httpd.apache.org/docs/2.0/programs/ab.html
他有两个参数:p(小写),T(大写),注意区分大小写,一个是用于指定POST请求时的参数文件,一个用于指定请求的类型Content-type,关于Content-type的类型,大家可以百度。
在AB命同级目录建立一个文件:para.txt,在里面写入要传递的参数:userName=admin&userPassWord=admin
指定请求类型为:application/x-www-form-urlencoded
完整的命令为:ab -n 1 -p para.txt -T application/x-www-form-urlencoded http://*/login.action
如此就可以将需要的两个参数传递到后台
结果如下 。。
D:\Apache\bin>ab -n 10 -c 10 http://192.168.1.3/index.html
(以上是输入的命令)
Benchmarking 192.168.1.3 (be patient).....done
Server Software: Apache/2.0.63
(目标服务器Apache版本号)
Server Hostname: 192.168.1.3
(目标服务器主机头名称)
Server Port: 80
(目标服务器Apache端口)
Document Path: /index.html
(目标网页相对地址)
Document Length: 292 bytes
(目标网页大小)
Concurrency Level: 10
(并发线程数)
Time taken for tests: 0.140625 seconds
(使用时间)
Complete requests: 10
(成功的请求数量)
Failed requests: 0
(失败的请求数量)
Write errors: 0
(发生错误数量)
Total transferred: 5750 bytes
(全部使用的流量)
HTML transferred: 2920 bytes
(Html文件使用的流量)
Requests per second: 71.11 [#/sec] (mean)
(指标一 平均每秒请求数)
Time per request: 140.625 [ms] (mean)
(指标二 平均事务响应时间)
Time per request: 14.063 [ms] (mean, across all concurrent requests)
(每秒请求时间)
Transfer rate: 35.56 [Kbytes/sec] received
(传输速率)
Connection Times (ms)
min mean[+/-sd] median max
Connect: 0 0 0.0 0 0
Processing: 109 124 16.3 140 140
Waiting: 109 124 16.3 140 140
Total: 109 124 16.3 140 140
(所有请求的响应情况)
Percentage of the requests served within a certain time (ms)
50% 140
66% 140
75% 140
80% 140
90% 140
95% 140
98% 140
99% 140
100% 140 (longest request)
每个请求都有一个响应时间 。。
比如 其中 50% 的用户响应时间小于 140 毫秒 。。
最大的响应时间小于 140 毫秒 (100% 处) 。。
ab 参数说明
-n requests Number of requests to perform
//在测试会话中所执行的请求个数。默认时,仅执行一个请求
-c concurrency Number of multiple requests to make
//一次产生的请求个数。默认是一次一个。
-t timelimit Seconds to max. wait for responses
//测试所进行的最大秒数。其内部隐含值是-n 50000。它可以使对服务器的测试限制在一个固定的总时间以内。默认时,没有时间限制。
-p postfile File containing data to POST
//包含了需要POST的数据的文件.
-T content-type Content-type header for POSTing
//POST数据所使用的Content-type头信息。
-v verbosity How much troubleshooting info to print
//设置显示信息的详细程度 - 4或更大值会显示头信息, 3或更大值可以显示响应代码(404, 200等), 2或更大值可以显示警告和其他信息。 -V 显示版本号并退出。
-w Print out results in HTML tables
//以HTML表的格式输出结果。默认时,它是白色背景的两列宽度的一张表。
-i Use HEAD instead of GET
// 执行HEAD请求,而不是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)
//-C cookie-name=value 对请求附加一个Cookie:行。 其典型形式是name=value的一个参数对。此参数可以重复。
-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.
//-P proxy-auth-username:password 对一个中转代理提供BASIC认证信任。用户名和密码由一个:隔开,并以base64编码形式发送。无论服务器是否需要(即, 是否发送了401认证需求代码),此字符串都会被发送。
-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.
-g filename Output collected data to gnuplot format file.
-e filename Output CSV file with percentages served
-h Display usage information (this message)
//-attributes 设置 属性的字符串. 缺陷程序中有各种静态声明的固定长度的缓冲区。另外,对命令行参数、服务器的响应头和其他外部输入的解析也很简单,这可能会有不良后果。它没有完整地实现 HTTP/1.x; 仅接受某些’预想’的响应格式。 strstr(3)的频繁使用可能会带来性能问题,即, 你可能是在测试ab而不是服务器的性能。
相关推荐
然后将优化的参数传递给 深度 MLP 神经网络进行买入-卖出-持有预测。选择道琼斯 30 支股票进行模型验证。使用 1996-2016 年间的每日收盘价分别训练每只道琼斯指数股票,并在 2007-2016 年间进行测试。结果表明,优化...
动态网址则是通过参数传递,如.php、.asp等,需要服务器执行脚本并从数据库中获取数据,速度相对较慢,且可能存在SQL注入风险。而伪静态网址,虽然看起来像静态网址,但实际上仍需经过服务器解析,访问速度未得到...
Doug Cutting是Apache Nutch项目的主要开发者之一,在Nutch项目的基础上,他创建了Hadoop项目。 2. **终止用户所有进程的命令** - 使用`pkill`命令可以终止指定用户的所有进程。例如: `pkill -u username` 可以...
- `paramId`和`paramName`用于传递参数,其中`paramId`表示参数名,`paramName`表示参数值。 - **html:img**:用于显示图片。 ```jsp <html:img src="ab.jpg"/> ``` #### 六、Bean标签详解 Bean标签主要用于...
- **网络通信**:对象可以通过序列化在客户端和服务端之间进行传递。 - **持久化存储**:将对象的状态保存到文件中,以便将来恢复。 - **对象克隆**:利用序列化和反序列化机制来实现对象的深度克隆。 - **远程调用*...
- **AB**: Apache Bench,用于测试Web服务器性能。 - **MySQLTuner**: 用于MySQL服务器的配置优化工具。 **提取网页中的所有链接** ```php $html = file_get_contents('http://example.com'); preg_match_all('/...
然后可以通过工具(例如ab,即ApacheBench)来进行压力测试,评估程序在高并发下的表现和稳定性。 文章的内容不仅涉及了PHP抽奖小程序的实现代码,还隐含了对一些基础PHP编程知识的介绍,如函数的定义、参数的传递...
1.3. MySQL AB概述 1.4. MySQL数据库管理系统概述 1.4.1. MySQL的历史 1.4.2. MySQL的的主要特性 1.4.3. MySQL稳定性 1.4.4. MySQL表最大能达到多少 1.4.5. 2000年兼容性 1.5. MaxDB数据库管理系统概述 1.5.1. 什么...
程序可以采用 JAVA 开发,但是因为它的虚拟机 (Virtual Machine) Dalvik ,是将 JAVA 的 bytecode 转成 自 己的格式,回避掉需要付给 SUN 有关 JAVA 的授权费用。 对手机制造者的影响 � Android 是款开源的移动计算...
1.3. MySQL AB概述 1.4. MySQL数据库管理系统概述 1.4.1. MySQL的历史 1.4.2. MySQL的的主要特性 1.4.3. MySQL稳定性 1.4.4. MySQL表最大能达到多少 1.4.5. 2000年兼容性 1.5. MaxDB数据库管理系统概述 1.5.1. 什么...
1.3. MySQL AB概述 1.4. MySQL数据库管理系统概述 1.4.1. MySQL的历史 1.4.2. MySQL的的主要特性 1.4.3. MySQL稳定性 1.4.4. MySQL表最大能达到多少 1.4.5. 2000年兼容性 1.5. MaxDB数据库管理系统概述 1.5.1. 什么...
1.3. MySQL AB概述 1.4. MySQL数据库管理系统概述 1.4.1. MySQL的历史 1.4.2. MySQL的的主要特性 1.4.3. MySQL稳定性 1.4.4. MySQL表最大能达到多少 1.4.5. 2000年兼容性 1.5. MaxDB数据库管理系统概述 ...
1.3. MySQL AB概述 1.4. MySQL数据库管理系统概述 1.4.1. MySQL的历史 1.4.2. MySQL的的主要特性 1.4.3. MySQL稳定性 1.4.4. MySQL表最大能达到多少 1.4.5. 2000年兼容性 1.5. MaxDB数据库管理系统概述 1.5.1...
1.3. MySQL AB概述 1.4. MySQL数据库管理系统概述 1.4.1. MySQL的历史 1.4.2. MySQL的的主要特性 1.4.3. MySQL稳定性 1.4.4. MySQL表最大能达到多少 1.4.5. 2000年兼容性 1.5. MaxDB数据库管理系统概述 1.5.1. 什么...
1.3. MySQL AB概述 1.4. MySQL数据库管理系统概述 1.4.1. MySQL的历史 1.4.2. MySQL的的主要特性 1.4.3. MySQL稳定性 1.4.4. MySQL表最大能达到多少 1.4.5. 2000年兼容性 1.5. MaxDB数据库管理系统概述 1.5.1. 什么...