我们的App Server前面有IBM HTTP Server。 我们在压力测试期间运行大约50个并发请求。 但是我们遇到错误,无法运行50个并发请求。 服务器成功运行40个并发请求。内存和CPU利用率没有达到顶峰,有足够的资源来处理请求。但是 我们无法在应用服务器日志中找到任何请求。 但是在插件日志中,我们可以看到请求。 以下是配置。
从IBM站点,我的理解是默认情况下IHS服务器将能够处理600个并发请求,并且默认情况下在App Server中有50个线程要处理。
从插件中看到的日志中,我推断请求是由ihs服务器处理的,但app服务器中可用的线程(默认为50)不足以处理50个并发请求。线程和并发请求之间是否存在一对一映射?我们是否需要增加最大线程数。需要修改哪些参数来增加与IHS,Websphere应用服务器和插件配置相关的并发请求,以增加对websphere 8.0的并发请求处理
的httpd.conf: #Windows MPM ThreadLimit 2048 ThreadsPerChild 250 MaxRequestsPerChild 0
plugin.conf
<ServerCluster CloneSeparatorChange="false" GetDWLMTable="false" IgnoreAffinityRequests="true" LoadBalance="Round Robin" Name="xxxx" PostBufferSize="64" PostSizeLimit="-1" RemoveSpecialHeaders="true" RetryInterval="60" ServerIOTimeoutRetry="-1">
<Server ConnectTimeout="0" ExtendedHandshake="false" MaxConnections="-1" Name="xxxx" ServerIOTimeout="900" WaitForContinue="false">
<Transport Hostname="SA16" Port="9080" Protocol="http"/>
</Server>
</ServerCluster>
应用服务器中的WebContainer设置 (应用程序服务器&gt; server1&gt;线程池&gt; WebContainer) 最小线程 - 50 最大线程 - 50
答案 0 :(得分:1)
您有50个Web容器线程,因此您可以在同步应用程序代码中处理大约50个线程处理HTTP请求 - 除非您针对异步servlet API进行编程并使用&#34;其他&#34;线程(例如执行器API之一或异步bean API)。
开始负载测试然后查看WAS控制台中的性能监视器应该是微不足道的,或者甚至更简单地从appserver JVM上的kill -3查看javacore中的线程活动。
在WebServer层中,您似乎不再需要任何比例。在该层,IHS专有的最佳监控是mod_mpmstats的输出,它告诉您 webserver 线程使用情况。