PHP的压力测试工具ab.exe 和mpm介绍提高并发数

该工具是apache自带的,可以用它来测试网站的并发量有多大和某个页面的访问时间。

基本用法:

1、  进入CMD,转到apache的bin目录下。

2、  执行命令ab.exe  -n 访问的问次数–c 多少人访问(并发量) 访问的地址如:ab.exe –n 1000 –c 100 http://localhost/index.php;

如输入以下命令ab.exe-n 10000 -c 100 http://localhost/test/index.php,

Index.php的内容为

<?php

for($i=0;$i<100;$i++){

         echo$i.‘|‘;

}

该命令的意思为100个人访问该地址1W次。会出现以下结果。

[plain] view plain copy

  1. Server Software:        Apache/2.4.4                                   #apache版本号
  2. Server Hostname:        localhost
  3. Server Port:            80
  4. Document Path:          /test/index.php
  5. Document Length:        5 bytes
  6. ConcurrencyLevel:      100
  7. Time taken fortests:   54.111 seconds                                 #访问的总时间(秒)
  8. Completerequests:      10000                                          #访问的总次数
  9. Failed requests:        0
  10. Write errors:           0
  11. Totaltransferred:      2060000 bytes
  12. HTMLtransferred:       50000 bytes
  13. Requests persecond:    184.80 [#/sec] (mean)                          #每秒访问多少次
  14. Time perrequest:       541.111 [ms] (mean)                            #这么多人(100)访问一次的时间
  15. Time perrequest:       5.411 [ms] (mean, acrossall concurrent requests)         #一个人访问一次花费的时间
  16. Transfer rate:          37.18 [Kbytes/sec] received

另外,如果我们把并发数增加到500,即把命令调整成ab.exe -n 10000 -c 500 http://localhost/test/index.php它就会出现以下结果。

[plain] view plain copy

  1. apr_socket_connect():由于目标计算机积极拒绝,无法连接。   (730061)
  2. Total of 902 requestscompleted

原因是因为apache在windows下默认的最大并发访问量为150。我们可以设置conf\extra下的httpd-mpm.conf文件来修改它的最大并发数。在修改之前我们要说明一下,mpm是个什么东西

Mpm为多路处理模块,即apache采用怎么样的方式来处理并发,主要有三种方式

1、  perfork 预处理进程方式(用进程服务)

2、  worker 工作模式(用进程下的线程服务)

3、  winnt这个一般是windos 下采用的。(针对windows)

说完这个我们就可以动手修改配置文件了。步骤如下:

1、  打开httpd.conf配置文件,打开下面的配置

# Server-poolmanagement (MPM specific)

Include conf/extra/httpd-mpm.conf

2、  确定当前 apache是mpm模式,CMD下进放到apache的bin目录输入指令httpd.exe –l

会出现以下结果,就可知道它用的是什么模式

[plain] view plain copy

  1. Compiledin modules:
  2. core.c
  3. mod_win32.c
  4. mpm_winnt.c 这是为winnt模式
  5. http_core.c
  6. mod_so.c

3、  修改httpd-mpm.conf文件,因为从上面可以看到,我的apache用的是winnt模式,所以在该文件下找到对应的winnt_module模块,修改参数,原先为150,我们把它修改成1000

[plain] view plain copy

  1. <IfModulempm_winnt_module>
  2. ThreadsPerChild        1000
  3. MaxConnectionsPerChild   0
  4. </IfModule>

4、  重启服务器

修改完之后我们重新运行上面的命令ab.exe-n 10000 -c 500 http://localhost/test/index.php

它就会运行成功了,出现与ab.exe -n10000 -c 100 http://localhost/test/index.php时类似的效果。

同理,如果是其它模式,则在httpd-mpm.conf中修改对应的地方即可。如下

[plain] view plain copy

    1. <IfModule mpm_prefork_module>
    2. StartServers             5                  #开始启动的进程
    3. MinSpareServers          5                 #最小准备进程
    4. MaxSpareServers         10                #最大空闲进程
    5. MaxRequestWorkers      1000            #最大并发数
    6. MaxConnectionsPerChild   0
    7. </IfModule>

http://blog.csdn.net/zhangzmb/article/details/51884011

时间: 2024-11-05 22:48:10

PHP的压力测试工具ab.exe 和mpm介绍提高并发数的相关文章

Apache -- 压力测试工具ab.exe

ab全称ApacheBench是Apache超文本传输协议(HTTP)的性能测试工具.是描绘当前所安装的Apache的执行性能, 主要是显示你安装的Apache每秒可以处理多少个请求Apache自带的ab工具(本机使用的PHP环境是PHPnow集成环境,ab工具位于D:PHPnowApache-22bin)非常容易使用,ab可以直接在Web服务器本地发起测试请求,测试的仅仅是服务器的处理性能,并不想掺杂着网络传输时间等其他因素影响,也可以测试外部url网站.ab进行一切测试的本质都是基于HTTP

Apache自带压力测试工具AB的使用方法

什么是压力测试,为什么要进行压力测试? 压力测试通过确定一个系统的瓶颈或者不能接收的性能点,来获得系统能提供的最大的服务级别的测试.通俗地讲,压力测试是为了发现在什么条件下您的应用程序的性能会变得不可接受.再简单点,就是你网站的性能的一个评定,性能由本身程序和网站服务器共同决定. 而进行压力测试,就是为了让你更好得掌握网站的各个信息. Apache自带工具AB是什么? Apache Benchmark简称为ab,是apache自带的用于HTTP Server测试的工具.它可以接受单一的URL,然

Apache中压力测试工具ab的操作说明

1.压力测试工具ab(ApacheBench)的简单说明 1)     网站性能压力测试是性能调优过程中必不可少的一环.只有让服务器处在高压情况下才能真正体现出各种设置所暴露的问题.Apache中有个自带的,名为ab的程序,可以对Apache或其它类型的服务器进行网站访问压力测试. 2)     ApacheBench命令原理: ab命令会创建很多的并发访问线程,模拟多个访问者同时对某一URL地址进行访问.它的测试目标是基于URL的,因此,既可以用来测试Apache的负载压力,也可以测试ngin

压力测试工具ab的使用

ab是Apache自带的HTTP压力测试工具,全称是ApacheBench 路径为\Apache\bin\ab.exe 参数文档: http://httpd.apache.org/docs/2.2/programs/ab.html 例:ab -n 10 -c 10 http://192.168.1.3/index.html 其中-n代表请求数,-c代表并发数 结果如下 ..D:\Apache\bin>ab -n 10 -c 10 http://192.168.1.3/index.html (以上

apache自带压力测试工具ab详解

ab网站压力测试命令 当然也可以使用更加专业和真实的压力测试工具loadrunner格式: ./ab [options] [http://]hostname[:port]/path-n 测试会话中所执行的请求个数,默认时,仅执行一个请求-c 一次产生的请求个数.默认是一次一个-t 测试所进行的最大秒数-v 设置显示信息的详细程度 - 4或更大值会显示头信息, 3或更大值可以显示响应代码(404, 200等), 2或更大值可以显示警告和其他信息. -V 显示版本号并退出.4个比较长用的参数 若有其

linux下web压力测试工具ab使用及详解

APACHE自带的测试工具AB(apache benchmark).在APACHE的bin目录下.格式: ./ab [options] [http://]hostname[:port]/path参数:    -n requests     Number of requests to perform    //在测试会话中所执行的请求个数.默认时,仅执行一个请求    -c concurrency Number of multiple requests to make    //一次产生的请求个数

压力测试工具ab使用

ab全名是apache bench,是apache自带的一款压力测试工具.它通过创建多个线程来模拟并发,测试目标是基于URL的,因此不论是什么web服务器都可以支持. 使用ab非常简单,进入apache的bin目录下,执行ab命令就可以,如下: ab -n 500 -c 100 -w http://www.xxxx.com >> d:\report.html 其中:-n 表示 全部请求的数量 -c 表示并发请求的数量,即一次产生的请求数 -w 表示导出文件 导出的html文件如下: 这里要备注

压力测试工具ab 及 centos下单独安装方法

Apache安装包中自带的压力测试工具 Apache Benchmark(简称ab) 简单易用,这里就采用 ab作为压力测试工具了. 1.独立安装 ab运行需要依赖apr-util包,安装命令为: 1 yum install apr-util 安装依赖 yum-utils中的yumdownload 工具 如果没有找到 yumdownload 命令可以 1 yum install yum-utils 安装完成后执行以下指令 1 cd /opt 2 mkdir abtmp 3 cd abtmp 4

Ubuntu 16.04/CentOS 6.9安装Apache压力测试工具ab

说明: ab工具已经在Apache中包含,如果不想安装Apache,那么可以使用下面方法单独安装. 安装: Ubuntu: sudo apt-get install apache2-utils CentOS: sudo yum -y install httpd-tools 官网: http://httpd.apache.org/(Apache服务器) http://httpd.apache.org/docs/2.0/programs/(Apache工具文档大全) http://httpd.apa