php 压力测试 ab 命令 测试并发 apache ab 测试 apr_socket_connect(): 由于目标机器积极拒绝 无法连接
Posted 从入门到删除数据库
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了php 压力测试 ab 命令 测试并发 apache ab 测试 apr_socket_connect(): 由于目标机器积极拒绝 无法连接相关的知识,希望对你有一定的参考价值。
对于广大的编程人员来说压力测试是永远不会避免的一步,正如测试虐我千百遍我待测试如初恋下面小弟说一下自己遇到的压力测试的问题,个人拙见,仅供参靠!!!
一般情况下我们在windows平台上进行开发,那么开发环境的要么是Lnmp 要么就是 Lamp 也有的人用环境的集成包,不管用什么只要是apache就好,正如所说小弟使用的就是apache,下面就是我在用apache进行压力测试的时候的问题,通过 cmd命令行进行测试如下图报错
看见这个报错之后只听大脑中嗡的一声,我了个日,为啥报错啊,但是经过查询之后感觉自己这个问题很好解决
这个问题的原因就在于我们的参数问题,首先普及一下参数,正如大家所见我们在命令中使用了 -r -n -c 那么他们的具体含义如下
-r 指定接收到错误信息时不退出程序
-n 即requests,用于指定压力测试总共的执行次数
-c 即concurrency,用于指定压力测试的并发数
那么经过这几个参数我们就能总结出这个问题的原因应该就是我们设置的并发参数过大造成的所以进行更改
更改之后完美执行压力测试!!!
再说一下其他的参数
-t 即timelimit,等待响应的最大时间(单位:秒)
-d 不显示百分比
-h 显示用法信息,其实就是ab -help
其实这种情况下还有另一种的解决办法
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,不要看错了
以上就是小弟在自己测试的时候遇到的问题并且解决的方法,以上是自己拙见希望帮助大家
以上是关于php 压力测试 ab 命令 测试并发 apache ab 测试 apr_socket_connect(): 由于目标机器积极拒绝 无法连接的主要内容,如果未能解决你的问题,请参考以下文章