ab的全称是ApacheBench,是 Apache 附带的一个小工具,专门用于 HTTP Server 的benchmark testing,可以同时模拟多个并发请求。
ab.exe位于安装目录 Apache Software Foundation\Apache2.2\bin的下面。
ab -n 1000 -c 1000 http://localhost/test/index.jsp
这个命令的意思是启动 ab ,向 http://localhost/test/index.jsp发送1000个请求(-n 1000) ,并每次发送1000个请求(-c 1000)-----也就是说一次都发过去了。
解决方法:
调整httpd的httpd.conf里的参数,找到#Include conf/extra/httpd-mpm.conf,将其注释去掉,引入mpm_winnt_module来做MPM,将httpd-mpm.conf中mpm_winnt_module里的参数调整为:
ThreadsPerChild 1920
MaxRequestsPerChild 0
注意,一般windows系统每个进程可以启动的最大线程数为1920个,也就是ThreadsPerChild最大值为1920。测试结果可以支持到1000个并发,吞吐量为200kb左右
附:tomcat配置文件中连接参数:
maxThreads="600" ///最大线程数
minSpareThreads="100"///初始化时创建的线程数
maxSpareThreads="500"///一旦创建的线程超过这个值,Tomcat就会关闭不再需要的socket线程。
acceptCount="700"//指定当所有可以使用的处理请求的线程数都被使用时,可以放到处理队列中的请求数,超过这个数的请求将不予处理 。
apache负责处理静态页面,tomcat负责处理动态页面配置如下:
在
ProxyRequests Off
<proxy balancer://cluster>
BalancerMember ajp://127.0.0.1:8009 loadfactor=1 route=jvm1
BalancerMember ajp://127.0.0.1:9009 loadfactor=1 route=jvm2
</proxy>
之前(注意)添加如下配置
ProxyPass /html/ !
在安装目录(Apache Software Foundation\Apache2.2\htdocs)下建立html文件夹,
将我们的静态文件此文件加下即可
访问:http:// http://localhost/html/test.html 就可以看到效果