简体   繁体   中英

How many concurrent request does the websphere application server process (WAS 8.0)?

We have the IBM HTTP Server in front of our App Server. We run around 50 concurrent request during stress testing. But we are getting errors and are not able to run 50 concurrent request. The server runs successfully for 40 concurrent request. The memory and cpu utilization have not peaked, there are enough resources to handle requests.But we are not able to find any request in the app server log. But in plugin logs we are able to see the request. The following are the configurations.

From IBM site, my understanding is IHS server will be able to process 600 concurrent request by default and there are 50 threads to process by default in App Server.

From the logs seen, in plugin , i infer that the requests are processed by the ihs server, but the threads available in app server( 50 by default) is not enough to process 50 concurrent request. Is there a one to one mapping between the threads and the concurrent request? Do we need to increase the maximum threads. What are the parameters that need to be modified to increase the concurrent request with respect to IHS, Websphere app server and the plugin conf to increase the concurrent request handling of the 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 Settings in app server (Application servers > server1 > Thread pools > WebContainer) Minimum thread - 50 Maximum thread - 50

You have 50 web container threads, so you can have roughly 50 threads in synchronous application code processing HTTP requests -- unless you are programming against async servlet APIs and using "other" threads (eg one of the executor APIs, or asynch beans API).

It should be trivial to start your load test then look at the performance monitor in the WAS console, or even more simply to look at thread activity in a javacore from a kill -3 on the appserver JVM.

It doesn't seem like you need any more scale in the WebServer tier. At that tier the best monitoring, proprietary to IHS, is the outout of mod_mpmstats which tells you your webserver thread usage.

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM