app测试测试员的那点事软件测试

ab压力测试-突破最大线程数

2016-06-12  本文已影响1793人  望月成三人

ab压力测试中,发现你一次最多只能启动1024个线程

影响最大线程大小的因素

其他突破线程问题

下面是具体配置

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

其他参考

上一篇下一篇

猜你喜欢

热点阅读