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