您的位置:首页 > 运维架构 > Apache

ab 测试 和 apache 修改 并发数 mpm

2012-10-02 02:04 176 查看
ab.exe -n 10 -c 1 http://localhost/index.php
-n 官网:在测试会话中所执行的请求个数。默认仅执行一个请求,此时其结果不具有意义。

个人:请求的连接总数量

-c 官网:一次产生的请求个数。默认是一次一个。

个人:并发数量 每次同时访问数量 比如 -c 10 好比 10台电脑同时访问

如果程序没有问题但是访问人数多的时候访问时仍然慢 则可试着修改默认并发数量

Windows

httpd.exe -l 会看见 mpm_winnt.c windows默认执行 mpm_winnt_module方式 (暂未找到修改成其他方式的方法)

1.httpd.conf 文件去掉 Include conf/extra/httpd-mpm.conf 前面的#

2.修改extra/httpd-mpm.conf 最下面 或 查找 mpm_winnt_module 修改ThreadsPerChild 和 MaxRequestsPerChild

#每个子进程建立的线程数
ThreadsPerChild      1 默认150

#指令设置每个子进程在其生存期内允许伺服的最大请求数量。
#到达MaxRequestsPerChild的限制后,子进程将会结束。
#如果MaxRequestsPerChild为"0",子进程将永远不会结束。
MaxRequestsPerChild    10  默认0

根据自己网站并发数量设置

ThreadsPerChild 设置 网站平均在线人数

MaxRequestsPerChild 设置最高在线人数的值

Linux

ps -ef | grep httpd | wc -l 查看当前 httpd进程数

apachectl -l 会看见 prefork.c Linux默认执行 mpm_prefork_module

1. httpd.conf 文件去掉 Include conf/extra/httpd-mpm.conf 前面的#

2.修改extra/httpd-mpm.conf 最上面 或 查找 mpm_prefork_module

StartServers          5 #默认启动线程数

#指令设置空闲子进程的最小数量。
#所谓空闲子进程是指没有正在处理请求的子进程。
#如果当前空闲子进程数少于MinSpareServers ,
#那么Apache将以最大每秒一个的速度产生新的子进程。
#只有在非常繁忙机器上才需要调整这个参数。将此参数设的太大通常是一个坏主意。
MinSpareServers       5 #

#指令设置空闲子进程的最大数量。
#所谓空闲子进程是指没有正在处理请求的子进程。
#如果当前有超过MaxSpareServers数量的空闲子进程,
#那么父进程将杀死多余的子进程。
#只有在非常繁忙机器上才需要调整这个参数。
#将此参数设的太大通常是一个坏主意。
#如果你将该指令的值设置为比MinSpareServers小,
#Apache将会自动将其修改成"MinSpareServers+1"。
MaxSpareServers      10 #
MaxClients          150 #apache可以同时处理的请求
MaxRequestsPerChild   0  #如windows MaxRequestsPerChild
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: