우리는 App Server 앞에 IBM HTTP Server를 가지고 있습니다. 스트레스 테스트 중에 약 50 개의 동시 요청을 실행합니다. 하지만 오류가 발생하여 50 개의 동시 요청을 실행할 수 없습니다. 40 개의 동시 요청에 대해 서버가 성공적으로 실행됩니다. 메모리 및 CPU 사용량이 정점에 도달하지 못했지만 요청을 처리 할 수있는 충분한 리소스가 있습니다 .앱 서버 로그에서 요청을 찾을 수 없습니다. 그러나 플러그인 로그에서 우리는 요청을 볼 수 있습니다. 다음은 구성입니다.websphere 애플리케이션 서버 프로세스 (WAS 8.0)는 얼마나 많은 동시 요청을 처리합니까?
IBM 사이트에서 기본적으로 IHS 서버는 600 개의 동시 요청을 처리 할 수 있으며 App Server에는 기본적으로 50 개의 스레드가 처리됩니다.
플러그인에서 본 로그에서 요청은 ihs 서버에서 처리하지만 앱 서버에서 사용할 수있는 스레드 (기본적으로 50 개)만으로는 50 개의 동시 요청을 처리 할 수 없습니다. 스레드와 동시 요청간에 일대일 매핑이 있습니까? 최대 스레드를 늘려야합니까? IHS에 대한 동시 요청을 높이기 위해 수정해야하는 매개 변수는 웹 스피어 애플리케이션 서버와 플러그인의 conf는 WebSphere의 동시 요청 처리를 높이기 위해 무엇 8.0
을 httpd.conf : # 윈도우 MPM 생 ThreadLimit 2,048 생 ThreadsPerChild 250 MaxRequestsPerChild 값 0
plugin.conf
012,351,<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>
애플리케이션 서버에서 웹 컨테이너 설정 (응용 프로그램 서버> 서버 1> 스레드 풀> 웹 컨테이너) 최소 스레드 - 50 최대 스레드 - 50
준비 상태에 300 개가 넘는 스레드가 있으므로 mpmstats에서 웹 서버에 문제가없는 것으로 보입니다. 몇 가지 경우, 준비 상태에 충분한 스레드가 있음에도 불구하고 55 개가 사용 중 상태에 있고, 54 개의 wr 상태와 1 개의 ka 상태를 보여줍니다. 아래 설명에서 wr은 "클라이언트에서 요청을 읽었지만 요청을 처리하거나 (예 : WebSphere Application Server의 응답을 기다리는) 사용중인 웹 서버 스레드의 수 또는 클라이언트 "는 사용 가능한 모든 50 응용 프로그램 서버 스레드가 사용된다는 것을 의미 할 수 있습니다. – Siva