失眠网,内容丰富有趣,生活中的好帮手!
失眠网 > PHP的压力测试工具ab.exe 和mpm介绍提高并发数

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

时间:2018-08-26 07:16:22

相关推荐

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 plaincopy print? ServerSoftware:Apache/2.4.4#apache版本号ServerHostname:localhostServerPort:80DocumentPath:/test/index.phpDocumentLength:5bytesConcurrencyLevel:100Timetakenfortests:54.111seconds#访问的总时间(秒)Completerequests:10000#访问的总次数Failedrequests:0Writeerrors:0Totaltransferred:2060000bytesHTMLtransferred:50000bytesRequestspersecond:184.80[#/sec](mean)#每秒访问多少次Timeperrequest:541.111[ms](mean)#这么多人(100)访问一次的时间Timeperrequest:5.411[ms](mean,acrossallconcurrentrequests)#一个人访问一次花费的时间Transferrate:37.18[Kbytes/sec]received

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

[plain]view plaincopy print? apr_socket_connect():由于目标计算机积极拒绝,无法连接。(730061)Totalof902requestscompleted

原因是因为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? Compiledinmodules:core.cmod_win32.cmpm_winnt.c这是为winnt模式http_core.cmod_so.c

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

[plain]view plaincopy print? <IfModulempm_winnt_module>ThreadsPerChild1000MaxConnectionsPerChild0</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? <IfModulempm_prefork_module>StartServers5#开始启动的进程MinSpareServers5#最小准备进程MaxSpareServers10#最大空闲进程MaxRequestWorkers1000#最大并发数MaxConnectionsPerChild0</IfModule>

参考:/zhangzmb/article/details/51884011

如果觉得《PHP的压力测试工具ab.exe 和mpm介绍提高并发数》对你有帮助,请点赞、收藏,并留下你的观点哦!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。