我在Windows环境下使用Apache 自带的压力测试工具 ab测试一些问题整理,比如出现了 apr_socket_connect(): 由于目标计算机积极拒绝,无法连接。 (730061) 等,如图:
我apache使用了fcgid_module 模块,本以为设置了 FcgidMaxProcesses 和 FcgidMaxProcessesPerClass 的值就可以适应大一些的并发量,但结果并不是,还是得启用 mpm
httpd-mpm.conf 文件的配置,网上说 ThreadsPerChild 值在Windows下最大为1920,下面我设置为1500
重启apache,然后再测试如图:
发现可以了。
这次测试我知道了就算Apache使用了fcgid_module 模块配置,想要大一点的并发量访问还是得要开启 mpm 进行配置的,至于mpm的配置后面再研究。当然在不用mpm的情况下 200 的并发 1000个请求还是可以的。
补充
在Windows系统下,设置了 mpm 的 ThreadsPerChild 越大,在进行压力测试的时候速度较快一些,当然也耗内存。如:
fcgid_module 模块配置
mpm的配置
配置 ThreadsPerChild 值为150时,完成要90秒,如图
httpd.exe 占用了 86100 K
我继续修改配置,把mpm的 MaxRequestsPerChild 配置为 5000,ThreadsPerChild 配置为 150 的时候,花费时间 90 秒左右,如图:
感觉吧时间相差不大耶
mpm的配置
配置 ThreadsPerChild 值为500时,完成要74秒,如图
httpd.exe 占用了 266968 K,CUP 使用率为 100%