pobierz NoHttpResponseException dla testowania obciążenia

Używam testów obciążenia dla mojej aplikacji. Mam dwa serwery: jeden z moją aplikacją i fałszywy serwer odpowiedzialny za uzyskiwanie odpowiedzi.

Na moim sztucznym serwerze mam następujący kod jsp:

<code><%@ page import="java.util.Random" %>
<%@ page language="java" %>
<%@ page session="false" %>
<%
   String retVal = "some json string";
   Thread.sleep(50);
%>
</code>

Używam aplikacji z tomcat7. Moja pula połączeń server.xml (na obu serwerach) wygląda następująco:

<code><Executor name="tomcatThreadPool" namePrefix="catalina-exec-" maxThreads="1500" minSpareThreads="1000" prestartminSpareThreads="true" /> 
<Connector port="9031" protocol="HTTP/1.1" 
           connectionTimeout="20000" 
           maxConnections="4000"
           executor="tomcatThreadPool"
           redirectPort="8443" />
</code>

Kod java, który używam z serwerów, to:

<code> HttpPost post = new HttpPost(bidderUrl);
 post.setHeader("Content-Type", "application/json");    
 // I'm using http client with ThreadSafeClientConnManager
 // total conn = 500,  max conn per route = 100, timeout=500millis
 HttpClient httpClient = httpClientFactory.getHttpClient();
    try {
        post.setEntity(new StringEntity(jsobBidRequest));
        HttpResponse response = httpClient.execute(post);
        ...
    catch (NoHttpResponseException e){
        log.error(e);
    }
</code>

Używam Jmettera z 50 równoległymi wątkami (bez pętli) i otrzymuję wiele wyjątków takich jak ten:

<code>org.apache.http.NoHttpResponseException The target server failed to respond 
</code>

Podczas gdy używam tylko 5 lub 10 równoczesnych wątków, wszystko działa poprawnie.

Czy mógłbyś mi doradzić, co może być nie tak w mojej konfiguracji? Dla mojego zrozumienia nie widzę żadnych błędów dla 50 jednoczesnych żądań wątków.

questionAnswers(3)

yourAnswerToTheQuestion