получить NoHttpResponseException для нагрузочного тестирования

Я провожу нагрузочные тесты для своего приложения. У меня есть два сервера: один с моим приложением и фиктивный сервер, который отвечает за получение ответов.

На моем фиктивном сервере у меня есть следующий jsp код:

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

Я запускаю приложение с tomcat7. Мой пул соединений server.xml (на обоих серверах) выглядит так:

<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>

Явский код, который я запускаю с серверов:

<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>

Я запускаю Jmetter с 50 одновременными потоками (без цикла) и получаю множество исключений, подобных этому:

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

Пока у меня запущено всего 5 или 10 одновременных потоков, все работает нормально.

Не могли бы вы посоветовать мне, что может быть не так в моей настройке? Насколько я понимаю, я не вижу никаких ошибок для 50 одновременных запросов потока.

Ответы на вопрос(3)

Ваш ответ на вопрос