php---apache的A/B测试

时间:2021-07-12 22:49:32

A/B测试

A/B测试是一种新兴的网页优化方法,可以用于增加转化率注册率等网页指标。。A/B测试的目的在于通过科学的实验设计、采样样本代表性、流量分割与小流量测试等方式来获得具有代表性的实验结论,并确信该结论在推广到全部流量可信。

如何使用Apache的ab工具进行网站性能测试

Apache服务器自带了ab压力测试工具,可以用来测试网站性能,使用简单方便。

  1. 打开Apache服务器的安装路径,在bin目录中有一个ab.exe的可执行程序,就是我们要介绍的压力测试工具。

php---apache的A/B测试

2.在Windows系统的命令行下,进入ab.exe程序所在目录,执行ab.exe程序。注意直接双击无法正确运行。

php---apache的A/B测试

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版本

php---apache的A/B测试

4. 执行测试用例:ab -n 1000 -c 100 -w http://localhost/index.php >>c:\1.html

上面的测试用例表示100并发的情况下,共测试访问index.php脚本1000次,并将测试结果保存到c:\1.html文件中。

  1. 测试报告如图,可知在该100并发访问的情况下,共测试访问1000次,失败了852次。可知该脚本在此环境无法满足100并发访问的要求。

php---apache的A/B测试

测试报告分析:

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

  1. 修改参数继续测试。测试并发50和30两种情况,由测试报告得知,在并发访问降到30时,错误的访问数降为39。