【发布时间】:2017-11-30 10:25:40
【问题描述】:
我们的 App Server 前面有 IBM HTTP Server。 我们在压力测试期间运行了大约 50 个并发请求。 但是我们遇到了错误,无法运行 50 个并发请求。 服务器成功运行 40 个并发请求。内存和cpu利用率没有达到峰值,有足够的资源来处理请求。但是 我们无法在应用服务器日志中找到任何请求。 但是在插件日志中,我们可以看到请求。 以下是配置。
从 IBM 网站,我的理解是 IHS 服务器默认可以处理 600 个并发请求,而 App Server 中默认有 50 个线程要处理。
从看到的日志来看,在 plugin 中,我推断请求是由 ihs 服务器处理的,但是 app 服务器中可用的线程(默认为 50)不足以处理 50 个并发请求。线程和并发请求之间是否存在一对一的映射?我们是否需要增加最大线程数。关于IHS、Websphere app server和plugin conf增加并发请求需要修改哪些参数来增加websphere 8.0的并发请求处理
httpd.conf: #Windows MPM 线程限制 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 设置 (应用服务器 > server1 > 线程池 > WebContainer) 最小线程 - 50 最大线程 - 50
【问题讨论】:
标签: java multithreading concurrency websphere