PHP使用Apache中的ab(ApacheBench)测试网站的并发量以及常见问题

AB(ApacheBench) 是 Apache 自带的超文本传输协议 (HTTP) 性能测试工具。 其设计意图是描绘当前所安装的 Apache 的执行性能, 主要是显示 Apache 每秒可以处理多少个请求。

打开Apache服务器的安装路径(以xampp为例来说明),在bin目录中有一个ab.exe的可执行程序,它就是要介绍的网站并发量测试工具。

一, 工具使用方法:

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

d:(回车/进入D盘)



cd D:\xampp\apache\bin 进入bin目录



启动ab,如果显示如下,则说明启动成功




二, 参数说明:

ab常用参数的介绍:

  -n requests :Number of requests to perform(总共的请求执行数,缺省是1);

  -c concurrency  : Number of multiple requests to make(并发数,缺省是1);

  -t timelimit :Seconds to max. wait for responses(测试所进行的总时间,秒为单位,缺省50000s);

  -p postfile : File containing data to POST. Remember also to set -T(POST时的数据文件)

-u putfile      File containing data to PUT. Remember also to set -T(GET时的数据文件)

  -w :  Print out results in HTML tables(以HTML表的格式输出结果)


三, 示例:

开始启动ab 测试

ab -n 10000 -c 2000 http://localhost:88/test/testXY.php 表示这个脚本运行10000次,2000并发(模拟2000个用户同时访问)


结果显示如下:



常见问题


问题1 apr_socket_connect(): 由于目标计算机积极拒绝,无法连接。 (730061) Total of 45

遇到这样的情况通常是你开的并行数量太多了。。。

比如:ab -c 1000 -n 10000 http://localhost/index.html 如此大的请求就会挂掉,只是还是有补救措施的,能够通过添加并发数上限解决问题,过程例如以下:


1、停止Apache服务;

2、找到apache/conf/httpd.conf文件,用文本编辑器打开找到这两行:
# Server-pool management (MPM specific)
# Include conf/extra/httpd-mpm.conf
把第二行include........这行的凝视去掉。

3、找到apache/conf/extra/httpd-mpm.conf文件,打开。找到:

<IfModule mpm_ winnt _module>
ThreadsPerChild 150
MaxRequestsPerChild 0
</IfModule>

把上面的150调大。Windows下最大为1920.

注意:尖括号中的名字是winnt,不要看错了

4、又一次启动Apache服务.

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值