该工具是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 plaincopy print?
  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 plaincopy print?
  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 plaincopy print?
  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 plaincopy print?
  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 plaincopy print?
  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

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

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

    为什么80%的码农都做不了架构师?>>>    压力测试工具Ab简介 Apache安装包中自带的压力测试工具 Apache Benchmark(简称ab) 简单易用,这里就采用 ab ...

  2. android cpu 压力测试,两个古董级压力测试工具 leakyapp.exe 和 cpustre.exe

    两个古董级压力测试工具 leakyapp.exe 和 cpustre.exe,应该是在NT的 Windows Resource Kit Tools里面--连2000的里面都没有. Leakyapp.e ...

  3. Apache自带压力测试工具—ab

    ab压力测试工具: ab全称为:apache bench 我们先来了解一下压力测试的概念: 吞吐率(Requests per second) 概念:服务器并发处理能力的量化描述,单位是reqs/s,指 ...

  4. 压力测试工具Ab简介

    Apache安装包中自带的压力测试工具 Apache Benchmark(简称ab) 简单易用,这里就采用 ab作为压力测试工具了. 1.独立安装 通过 yum-utils中的yumdownload  ...

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

    APACHE自带的测试工具AB(apache benchmark).在APACHE的bin目录下. 格式: ./ab [options] [http://]hostname[:port]/path 参 ...

  6. 压力测试工具ab介绍

    超实用压力测试工具-ab工具 了解几个关于压力测试的概念: 吞吐率(Requests per second) 概念:服务器并发处理能力的量化描述,单位是reqs/s,指的是某个并发用户数下单位时间内处 ...

  7. 服务器压力测试工具ab

    在学习ab工具之前,我们需了解几个关于压力测试的概念 吞吐率(Requests per second) 概念:服务器并发处理能力的量化描述,单位是reqs/s,指的是某个并发用户数下单位时间内处理的请 ...

  8. 简单的并发测试工具 ab.exe ab.zip可下载 -摘自网络

    ab.exe是一个性能检测工具,是apache server中的一个小组件,使用简单,方便 下载地址:http://files.cnblogs.com/files/gossip/ab.zip    使 ...

  9. apache压力测试工具ab

    简介 ab的全称是ApacheBench,是 Apache 附带的一个小工具,专门用于 HTTP Server 的benchmark testing,可以同时模拟多个并发请求.前段时间看到公司的开发人 ...

  10. PHP Apache自带的压力测试工具ab(apache bench)

    ApacheBench 是一个指令列程式,专门用来执行网站服务器的运行效能,特别是针对Apache 网站服务器.这原本是用来检测 Apache 网站服务器能够提供的效能,特别是可以看出Apache能提 ...

最新文章

  1. Js插入元素到数组的头部和尾部 unshift push
  2. “不会数学,干啥都不行!”骨灰级程序员:你方向不对,努力也白费!
  3. 李德毅获吴文俊人工智能最高成就奖 | AI日报
  4. 续说零拷贝(Zero-Copy) - DMA技术
  5. java确认rabbitmq_RabbitMQ 消息确认机制
  6. @interface使用详解
  7. mac下安装elasticsearch
  8. 如何逃过taint droid的跟踪
  9. Hibernate配置文件
  10. JAVA经典集合框架学习笔记——HashMap的底层实现原理
  11. C语言实现密码字典生成器
  12. 带你了解关系网络在反欺诈领域的常见应用
  13. 单核CPU破解后量子加密候选算法只需一小时
  14. 悼念前端大牛司徒正美
  15. ldo和dcdc功耗_DCDC与LDO的区别详解
  16. Pintech品致钳形交直流电流探头的操作步骤是什么
  17. 利用novnc登录绕过WFA
  18. 表格css样式 ——表格背景,隔行变色,触摸表格变色
  19. 通过实时语音驱动人像模拟真人说话
  20. 灌篮高手微信登录是什么服务器,灌篮高手手游应用宝版

热门文章

  1. 从forEach到迭代器
  2. Scrapy框架的使用之Spider Middleware的用法
  3. 智慧城市的宠儿 大数据为城市建设添彩
  4. jquery刷新iframe页面的方法
  5. 原创:爱是两个人的事
  6. “鱼渔合作”在IT运维中的启示
  7. 64bit 用户空间内核空间
  8. 内核调试神器SystemTap — 更多功能与原理(三)
  9. linux抓包命令不用root用户,linux中非root用户使用wireshark进行抓包
  10. 和foreach的区别和应用场景_介绍下Set、Map、WeakSet 和 WeakMap 的区别?