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次。会出现以下结果。
- Server Software: Apache/2.4.4 #apache版本号
- Server Hostname: localhost
- Server Port: 80
- Document Path: /test/index.php
- Document Length: 5 bytes
- ConcurrencyLevel: 100
- Time taken fortests: 54.111 seconds #访问的总时间(秒)
- Completerequests: 10000 #访问的总次数
- Failed requests: 0
- Write errors: 0
- Totaltransferred: 2060000 bytes
- HTMLtransferred: 50000 bytes
- Requests persecond: 184.80 [#/sec] (mean) #每秒访问多少次
- Time perrequest: 541.111 [ms] (mean) #这么多人(100)访问一次的时间
- Time perrequest: 5.411 [ms] (mean, acrossall concurrent requests) #一个人访问一次花费的时间
- Transfer rate: 37.18 [Kbytes/sec] received
另外,如果我们把并发数增加到500,即把命令调整成ab.exe -n 10000 -c 500 http://localhost/test/index.php它就会出现以下结果。
- apr_socket_connect():由于目标计算机积极拒绝,无法连接。 (730061)
- 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
会出现以下结果,就可知道它用的是什么模式
- Compiledin modules:
- core.c
- mod_win32.c
- mpm_winnt.c 这是为winnt模式
- http_core.c
- mod_so.c
3、 修改httpd-mpm.conf文件,因为从上面可以看到,我的apache用的是winnt模式,所以在该文件下找到对应的winnt_module模块,修改参数,原先为150,我们把它修改成1000
- <IfModulempm_winnt_module>
- ThreadsPerChild 1000
- MaxConnectionsPerChild 0
- </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中修改对应的地方即可。如下
- <IfModule mpm_prefork_module>
- StartServers 5 #开始启动的进程
- MinSpareServers 5 #最小准备进程
- MaxSpareServers 10 #最大空闲进程
- MaxRequestWorkers 1000 #最大并发数
- MaxConnectionsPerChild 0
- </IfModule>
http://blog.csdn.net/zhangzmb/article/details/51884011
PHP的压力测试工具ab.exe 和mpm介绍提高并发数的更多相关文章
- Apache -- 压力测试工具ab.exe
ab全称ApacheBench是Apache超文本传输协议(HTTP)的性能测试工具.是描绘当前所安装的Apache的执行性能, 主要是显示你安装的Apache每秒可以处理多少个请求Apache自带的 ...
- Apache自带压力测试工具ab用法简介
ab命令原理 ab命令会创建很多的并发访问线程,模拟多个访问者同时对某一URL进行访问.它的测试目标是基于URL的,因此,既可以用来测试Apache的负载压力,也可以测试nginx.lighthttp ...
- Apache中压力测试工具ab的操作说明
1.压力测试工具ab(ApacheBench)的简单说明 1) 网站性能压力测试是性能调优过程中必不可少的一环.只有让服务器处在高压情况下才能真正体现出各种设置所暴露的问题.Apache中有个 ...
- apache自带压力测试工具ab的使用及解析
当你搭建了apache服务器并在上面部署了web网站,在网站运行前,为了使apache服务器的性能得到更好的应用,我们可以先对其进行压力测试.进行压力测试其实非常简单,我们也不用再额外下载安装什么测试 ...
- 压力测试工具ab及centos下单独安装方法
压力测试工具Ab简介 Apache安装包中自带的压力测试工具 Apache Benchmark(简称ab) 简单易用,这里就采用 ab作为压力测试工具了. 1.独立安装 ab运行需要依赖apr-uti ...
- httpd的压力测试工具-ab工具使用案例
httpd的压力测试工具-ab工具使用案例 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.httpd自带的工具程序 事实上,在我们安装完Apache之后,它默认就会给我们安 ...
- 压力测试工具 ab
ab 是Apache 自带的一个压力测试工具,命令行,是 ApacheBench 命令的缩写. ab的原理:ab命令会创建多个并发访问线程,模拟多个访问者同时对某一URL地址进行访问.它的测试目标是基 ...
- PHP测试与优化(1)-- Apache自带的压力测试工具ab(apache bench) - 简单使用
ab是apache自带的网站压力测试工具,能够测试网站在一定时间内的发生高并发时的反应. 使用 1.进入apache的bin文件夹 2.模拟并发级别为100,请求数为1000个的api数据请求数量测试 ...
- 压力测试工具ab的使用
ab是Apache自带的HTTP压力测试工具,全称是ApacheBench 路径为\Apache\bin\ab.exe 参数文档: http://httpd.apache.org/docs/2.2/p ...
随机推荐
- XSS挑战第一期Writeup
0x00 起因 这期 XSS 挑战的起因是在阅读“Modern Web Application Firewalls Fingerprinting and Bypassing XSS Filters”过 ...
- 对于flat_interface与public_interface的理解
对于这两个interface含义的理解一波三折,下面我把各种理解都记录下来. 2014-9-23 #可以把flat_interface理解为Openstack整套生态系统内部的网络接口,内部各 ...
- HDU 1688 Sightseeing&HDU 3191 How Many Paths Are There(Dijkstra变形求次短路条数)
Sightseeing Time Limit: 3000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Tota ...
- Centos 6.4 python 2.6 升级到 2.7
Centos 6.4 python 2.6 升级到 2.7 分类: Python Linux2013-09-13 21:35 37278人阅读 评论(2) 收藏 举报 一开始有这个需求,是因为用 Ya ...
- phpstorm8注册码
phpstorm8注册码 phpstorm 8 注册码 用户名:Learn Programming License key:(包括LICENSE BEGIN和LICENSE END部分) ==== ...
- linux里的进程简介
/sbin/init 内核启动的第一个用户级进程,引导用户空间服务 [kthreadd] 内核线程管理[migration/0] 用于进程在不同的CPU ...
- linux进程查找及杀死
根据进程名称查找 ps aux|grep python(进程名) 杀死进程: kill -s 9 进程id
- Nginx模块fastcgi_cache的几个注意点
fastcgi响应http请求的结果中,响应头包括Expires、Cache-Control、Set-Cookie三个,都会可能不被cache. thinkphp3.0禁止session自动启动 co ...
- php 文件和表单内容一起上传
<?php $filename = $_POST['filename']; $explain = $_POST['explain']; $upfile = $_FILES['upfile']; ...
- A Realistic Evaluation of Memory Hardware Errors and Software System Susceptibility
http://www.cs.rochester.edu/~kshen/papers/usenix2010-li.pdf Abstract Memory hardware reliability is ...