php---apache的A/B测试
A/B测试
A/B测试是一种新兴的网页优化方法,可以用于增加转化率注册率等网页指标。。A/B测试的目的在于通过科学的实验设计、采样样本代表性、流量分割与小流量测试等方式来获得具有代表性的实验结论,并确信该结论在推广到全部流量可信。
如何使用Apache的ab工具进行网站性能测试
Apache服务器自带了ab压力测试工具,可以用来测试网站性能,使用简单方便。
- 打开Apache服务器的安装路径,在bin目录中有一个ab.exe的可执行程序,就是我们要介绍的压力测试工具。
2.在Windows系统的命令行下,进入ab.exe程序所在目录,执行ab.exe程序。注意直接双击无法正确运行。
3. ab 的用法是:ab [options] [http://]hostname[:port]/path
例如:ab -n 5000 -c 200 http://localhost/index.php
上例表示总共访问http://localhost/index.php这个脚本5000次,200并发同时执行。
ab常用参数的介绍:
-n :总共的请求执行数
-c: 并发数
-t:测试所进行的总时间,秒为单位,
-p:POST数据文件
-w: 以HTML表的格式输出结果
-A attribute http验证,分隔传递用户名及密码
-X proxy:port 代理服务器
-V 查看ab版本
4. 执行测试用例:ab -n 1000 -c 100 -w http://localhost/index.php >>c:\1.html
上面的测试用例表示100并发的情况下,共测试访问index.php脚本1000次,并将测试结果保存到c:\1.html文件中。
- 测试报告如图,可知在该100并发访问的情况下,共测试访问1000次,失败了852次。可知该脚本在此环境无法满足100并发访问的要求。
测试报告分析:
Server Software: 服务器软件
Server Hostname: 服务器主机名
Server Port: 80
Document Path: /index.php
Document Length: 1567 bytes #请求文档大小
Concurrency Level: 100 #并发数
Time taken for tests: 0.560 seconds #全部请求完成耗时
Complete requests: 1000 #全部请求数
Failed requests: 0 #失败的请求
Non-2xx requests: #整个场景中的网络传输量,即所有请求的响应数据的总和,包含头信息和正文长度
Total transferred: 1848000 bytes #总传输大小
HTML transferred: 825219400 bytes #整个场 景中的HTML内容传输量
Requests per second: 108.61 [#/sec] (mean) #每秒请 求数(平均)//大家最关心的指标之一,相当于 LR 中的每秒事务数,后面括 号中的 mean 表示这是一个平均值
Transfer rate: 8771.39 [Kbytes/sec] received #传输速 率//平 均每秒网络上的流量,可以帮助排除是否存在网络流量过大导致响应时间延长的问题
Connection Times (ms) #连接时 间
Connect(#连接): 0 0 2.1 0 46
Processing(#处理): 31 458 94.7 438 1078
Waiting(#等待): 15 437 87.5 422 938
- 修改参数继续测试。测试并发50和30两种情况,由测试报告得知,在并发访问降到30时,错误的访问数降为39。