你既然用了apache来做负载,则你透过apache来访问应用,则你应该着力配置8009这个端口,当然你可以改变端口了。
默认的最大线程数是maxThreads=200,也就是说最多有200个连接,太少了。<Connector port="8009" enableLookups="false" redirectPort="8443" debug="0" protocol="AJP/1.3" /> <!-- A AJP 1.3 Connector on port 8009 -->
<!--default para value:maxSpareThreads:50,maxThreads="200",acceptCount:10;minSpareThreads:4-->
<!--maxProcessors="3072",this is the tomcat5.0 doc present-->
<Connector port="8009" address="${jboss.bind.address}"
enableLookups="false" redirectPort="8443" debug="0"
maxSpareThreads="100" maxThreads="3072" acceptCount="50"
minSpareThreads="10" protocol="AJP/1.3"/>
你的apache装在win2k下,据我所知,默认的windows下,apache的安装模式是prefork(这是apache网站文档说的),以下是默认值,最大是150<IfModule prefork.c>
StartServers 5
MinSpareServers 5
MaxSpareServers 10
MaxClients 150
MaxRequestsPerChild 0
</IfModule>可是我用%apachehome%/bin/apache -l查看所加载的模块:Compiled in modules:
core.c
mod_win32.c
mpm_winnt.c
http_core.c
mod_so.c
看起来应该是mpm_winnt.c你应该配置,把相关参数配置上
# WinNT MPM
# ThreadsPerChild: constant number of worker threads in the server process
# MaxRequestsPerChild: maximum number of requests a server process serves
<IfModule mpm_winnt.c>
ThreadsPerChild 250
MaxRequestsPerChild 0
</IfModule>apache的httpd.conf中相关配置如下:
LoadModule jk2_module modules/mod_jk2.so
<IfModule worker.c>
StartServers 4
ServerLimit 64
ThreadLimit 256
MaxClients 2048
MinSpareThreads 64
MaxSpareThreads 128
ThreadsPerChild 64
MaxRequestsPerChild 0
</IfModule> 配置:StartServers 4
ServerLimit 24
ThreadLimit 128
MaxClients 3072
MinSpareThreads 100
MaxSpareThreads 200
ThreadsPerChild 128
MaxRequestsPerChild 0会好些吧,你配work.c肯定是没有用的。
默认的最大线程数是maxThreads=200,也就是说最多有200个连接,太少了。<Connector port="8009" enableLookups="false" redirectPort="8443" debug="0" protocol="AJP/1.3" /> <!-- A AJP 1.3 Connector on port 8009 -->
<!--default para value:maxSpareThreads:50,maxThreads="200",acceptCount:10;minSpareThreads:4-->
<!--maxProcessors="3072",this is the tomcat5.0 doc present-->
<Connector port="8009" address="${jboss.bind.address}"
enableLookups="false" redirectPort="8443" debug="0"
maxSpareThreads="100" maxThreads="3072" acceptCount="50"
minSpareThreads="10" protocol="AJP/1.3"/>
你的apache装在win2k下,据我所知,默认的windows下,apache的安装模式是prefork(这是apache网站文档说的),以下是默认值,最大是150<IfModule prefork.c>
StartServers 5
MinSpareServers 5
MaxSpareServers 10
MaxClients 150
MaxRequestsPerChild 0
</IfModule>可是我用%apachehome%/bin/apache -l查看所加载的模块:Compiled in modules:
core.c
mod_win32.c
mpm_winnt.c
http_core.c
mod_so.c
看起来应该是mpm_winnt.c你应该配置,把相关参数配置上
# WinNT MPM
# ThreadsPerChild: constant number of worker threads in the server process
# MaxRequestsPerChild: maximum number of requests a server process serves
<IfModule mpm_winnt.c>
ThreadsPerChild 250
MaxRequestsPerChild 0
</IfModule>apache的httpd.conf中相关配置如下:
LoadModule jk2_module modules/mod_jk2.so
<IfModule worker.c>
StartServers 4
ServerLimit 64
ThreadLimit 256
MaxClients 2048
MinSpareThreads 64
MaxSpareThreads 128
ThreadsPerChild 64
MaxRequestsPerChild 0
</IfModule> 配置:StartServers 4
ServerLimit 24
ThreadLimit 128
MaxClients 3072
MinSpareThreads 100
MaxSpareThreads 200
ThreadsPerChild 128
MaxRequestsPerChild 0会好些吧,你配work.c肯定是没有用的。
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货