您的位置:时时app平台注册网站 > 彩世界网址 > php---apache的A/B测试彩世界网址

php---apache的A/B测试彩世界网址

2019-09-19 07:37

下面我们侧重于几个变量,衡量它们对性能带来的影响。

A/B测试

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

123456 Connection Times (ms)
                    min mean[ /-sd] median max
Connect:                  0  6  8.5    1  28
Processing:                1  49  18.4    51  113
Waiting:                  0  46  17.2    49  91                     
Total:                  11  55  19.5    54  140

现在有好多工具可以用来准确地评估和测试性能,不过本文就着重介绍最重要的一款工具:Apache Benchmark。使用该工具在你的网站上查询特定页面甚至可以向它传送cooki信息,模拟通过验证的用户),以测量响应情况。你可以在接受测试的服务器上的命令行使用Apache Benchmark,同时仍能获得有效的结果,因为该工具占用的处理器和内存资源很少。下面是一种典型的用法:

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

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

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

      彩世界网址 1

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

 彩世界网址 2

  1.  ab 的用法是:ab [options] [

例如:ab -n 5000 -c 200

上例表示总共访问

ab常用参数的介绍:

-n :总共的请求执行数

-c: 并发数

-t:测试所进行的总时间,秒为单位,

-p:POST数据文件

-w: 以HTML表的格式输出结果

-A attribute    http验证,分隔传递用户名及密码

-X proxy:port   代理服务器
-V              查看ab版本

彩世界网址 3

 

  1. 执行测试用例:ab -n 1000 -c 100 -w >>c:1.html

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

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

 彩世界网址 4

测试报告分析:

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。

 

结果分析:
Document Path: /test.php
#测试的页面
Document Length: 15 bytes
#页面大小
Concurrency Level: 100
#测试的并发数,也是-c选项
Time taken for tests: 0.575 seconds
#整个测试持续的时间
Complete requests: 1000
#完成的请求数量
Failed requests: 0
#失败的请求数量
Write errors: 0
Total transferred: 171171 bytes
#整个过程中的网络传输量
HTML transferred: 15015 bytes
#整个过程中的HTML内容传输量
Requests per second: 1739.26 [#/sec] (mean)
#最重要的指标之一,相当于LR中的每秒事务数,后面括号中的mean表示这是一个平均值
Time per request: 57.496 [ms] (mean)
#最重要的指标之二,相当于LR中的平均事务响应时间,后面括号中的mean表示这是一个平均值  ----》计算公式:事务量=n/c,事务平均响应时间=总耗时/事务量
Time per request: 0.575 [ms] (mean, across all concurrent requests)
#每个连接请求实际运行时间的平均值
Transfer rate: 290.73 [Kbytes/sec] received
#平均每秒网络上的流量,可以帮助排除是否存在网络流量过大导致响应时间延长的问题

我们可以使用更小的增量来细化c值,但是以10为最接近倍数通常足矣。

网站性能压力测试是性能调优过程中必不可少的一环。只有让服务器处在高压情况下才能真正体现出各种设置所暴露的问题。Apache中有个自带的,名为ab的程序,可以对Apache或其它类型的服务器进行网站访问压力测试。

第一条规则:要是不测试性能,优化就无从谈起。

#整个场景中所有请求的响应情况。在场景中每个请求都有一个响应时间,其中50%的用户响应时间小于54毫秒,66%的用户响应时间小于58毫秒,最大的响应时间小于140毫秒。对于并发请求,cpu实际上并不是同时处理的,而是按照每个请求获得的时间片逐个轮转处理的,所以基本上第一个Time per request时间约等于第二个Time per request时间乘以并发请求数。

下面这五条规则可以帮助你优化安装的Drupal服务器,另外附有一些示例,说明如何运用这些规则。服务器优化是个庞大的领域,它在不断进化,但是我们可以通过研究分析一些简单的情况,了解比较复杂的情况。

总结:在远程对web服务器进行压力测试,往往效果不理想(因为网络延时过大),建议使用内网的另一台或者多台服务器通过内网进行测试,这样得出的数据,准确度会高很多。如果只有单独的一台服务器,可以直接本地测试,比远程测试效果要准确。

...

彩世界网址 5

$ ab -n 1000 -c 20
这里的值如下:
n = 页面请求的数量
c = 并发连接的数量
最重要的参数是c,即并发请求的数量,而n这个数要足够大,才能提供稳定的结果。关键在于,要使用不同的c值来测试网站,先从小的数值开始,逐步加大,直到“每秒请求”的返回值开始下降。比如说:
$ ab -n 1000 -c 20 | grep ‘Requests per second’
每秒请求:45.29 [#/sec]平均值)
$ ab -n 1000 -c 40 | grep ‘Requests per second’
每秒请求:46.91 [#/sec]平均值)
$ ab -n 1000 -c 60 | grep ‘Requests per second’
每秒请求:8.55 [#/sec]平均值)
$ ab -n 1000 -c 80 | grep ‘Requests per second’
每秒请求:2.21 [#/sec]平均值)

本文永久更新链接地址:http://www.linuxidc.com/Linux/2017-06/144781.htm

格式:# ab [options] [
参数说明:
-n requests Number of requests to perform
//在测试会话中所执行的请求个数(本次测试总共要访问页面的次数)。默认时,仅执行一个请求。
-c concurrency Number of multiple requests to make
//一次产生的请求个数(并发数),就相当于一定是同时处理这个多个并发,处理完就是一个事务。默认是一次一个。

ApacheBench命令原理:
ab命令会创建很多的并发访问线程,模拟多个访问者同时对某一URL地址进行访问。它的测试目标是基于URL的,因此,既可以用来测试Apache的负载压力,也可以测试nginx、lighthttp、tomcat、IIS等其它Web服务器的压力。ab命令对发出负载的计算机要求很低,既不会占用很高CPU,也不会占用很多内存,但却会给目标服务器造成巨大的负载,其原理类似CC攻击。自己测试使用也须注意,否则一次上太多的负载,可能造成目标服务器因资源耗完,严重时甚至导致死机。

ApacheBench用法详解:在Linux系统,一般安装好Apache后可以直接执行;
# ab  -n  1000 -c 100  
//n后面的代表总共发出1000个请求;-c后面的100表示采用100个并发(模拟100个人同时访问),后面的网址表示测试的目标URL。

彩世界网址 6

彩世界网址 7

本文由时时app平台注册网站发布于彩世界网址,转载请注明出处:php---apache的A/B测试彩世界网址

关键词: